Copyright: (c) 1994-1997 Macromedia


Contents


Contents


Acknowledgments (online help)
Version

Authorware 4 Help file, updated on April 28, 1997.

Credits

Online help development by Jeff Swartz

Online help project management by Jeff Schwamberger

Help content written by Bill Grout, Jethro Villegas, and  Jamil Zainasheff.

Art design by Ilene Sandler

Production art by Noah Zilberberg

Special thanks to: the Authorware Engineering, Technical Support, and QA review teams; Karin Arrigoni for indexing the help system; Peter Fenczik for assistance in online help production.

Copyright

Copyright 1995-1997 Macromedia, Inc. All rights reserved. The information in this help system may not be copied, photocopied, reproduced, translated, or converted to any printed, electronic or machine-readable form in whole or in part without prior written approval of Macromedia, Inc.

Macromedia, Inc.
600 Townsend St.
San Francisco, CA  94103
USA


Reference
Menu commands

Icons

Tools

Keyboard shortcuts

Glossary


Web links
The Authorware Developers Center web site is a rich-and continuously growing-source of information about Authorware.

The Center includes:

How Do I...?, with articles from well-known Authorware experts, information about working with Shockwave, Show Me examples, and tips and tricks.

Troubleshooting, with answers to frequently and recently asked questions and a library of TechNotes.

Updates & Downloads, where you can get product updates, Xtras, and other goodies.

Interact, where you can provide us with feedback about the information you'd like to see in the Developers Center.

Doc Stuff, where we'll post updates, revisions, and corrections to the printed guides.

Resources, with helpful books available from Macromedia Press and other publishers, Authorware and Macromedia user groups, links to other web sites, events of interest, and information about programs and services you may find useful.


Glossary

A B C D E F G H I J K L M N O P Q R S T U V W X

A

activeX

argument

array

B

boolean

branching icon

C

call

calling convention

calculation icon

CAV

checked state

character variable

CLV

CMI

custom variable

D

DLLs

decision icon

design window

digital movie icon

display icon

E

erase icon

expression

external file

F

flowline

framework icon

function

H

hot object

hot spot

hot text

hypertext

I

icon palette

icon

interaction icon

J

judged interaction

jump

L

library

logical variable

M

map icon

model

motion icon

N

navigate icon

numerical variable

O

operator

P

packaging

page

path

path name

perpetual response

presentation window

R

referenced variable

result icon

response status

response type

router

S

scripting Xtra

sound icon

sprite Xtra

string

subroutine

syntax

system functions

system variable

T

tool bar

transition Xtra

trigger

U

UCD

V

variable

verbs

video icon

W

wait icon

X

XCMDs

Xtras


activeX. Microsoft's component software standard. ActiveX is essentailly the same technology as OLE streamlined to allow developers to produce small applications known as controls. you can use the ActiveX Xtra to embed controls in an Authorware piece.


argument. Information that a function needs to do its job. When written, an argument is enclosed in parentheses.


array. An arrangement of data items, generally in rows and columns, in which each data item is associated with an index number.


boolean. In boolean logic, the number 0 equals false, and any nonzero number (usually 1) equals true. You use these numbers in logical variables to store a value of true or false.


branching icon. An icon that has more than one path-or branch-that Authorware can follow. Decision, framework, and interaction icons are branching icons.


call. A navigation option that allows you to "jump" from one place to another in an Authorware file, and then return to the place you started.


calling convention. A standard format that Authorware uses for presenting information about a function in a dynamic link library (DLL). It includes the function's name, where it resides, how many and which type of arguments the function takes, and the type of arguments the function returns.


calculation icon. Performs arithmetic or special control functions, or assigns values to custom variables.


CAV. Constant angular velocity. A CAV device, such as a videodisc player, rotates at a constant speed, which means that the outside tracks must hold the same amount of data as the inner tracks. Authorware supports some CAV devices.


checked state. When a user clicks a button, it is in a checked-or enabled-state. You can specify the appearance of the button in this state, what sound it makes, and whether the button's label is hidden or visible.


character variable . A variable that stores character strings.


CLV. Constant linear velocity. By adjusting the motor speed to compensate for the head position, CLV devices, such as some videodisc players, make it possible to store the maximum amount of data on each track, which greatly increases storage capabilities. However, random access is much more difficult at variable motor speeds, resulting in slower access times.


CMI. Computer Managed Instruction.


custom variable. A variable you create to keep track of information that Authorware isn't recording in a system variable. To define a custom variable, use the New Variable command.


DLLs. Windows DLLs (dynamic link libraries) provide a way of linking to external functions that you call from within calculation icons.


decision icon. Defines a series of paths that the piece may take. Authorware determines which is the appropriate path.


design window. The window in which the flowline appears.


digital movie icon. Plays an animation created with an application like Macromedia Director or a QuickTime movie that's played by your Authorware piece.


display icon. Displays a text or graphic object on the screen. Double-clicking a display icon opens the toolbox and presentation window, where you can create and paste multiple objects.


erase icon . Removes an object that's currently displayed on screen.


expression . A set of symbols that produces a result by evaluating or comparing values. You can use expressions in calculation windows and dialog boxes, and you can embed them in text objects. You can use variables, functions, operators, numbers, character strings, constants, and comments in an expression.


external file. A file saved outside of a piece. If you want to keep information from a piece so you can use it in the future, save it as an external file.


flowline. A visual map of your Authorware piece. It organizes icons and determines the sequence in which Authorware runs them.


framework icon. Allows you to set up navigation in an Authorware piece. The framework icon has a built-in set of controls that users can use to move among the icons you've attached to the framework icon.


function . A set of instructions that generates a unique output value, often based on the value of a particular variable. Functions perform actions on data and are always followed by arguments enclosed in parentheses.


hot object. A text or graphic object that acts like a button when a user clicks it.


hot spot. An area on the screen that acts like a button when a user clicks it.


hot text. Text that acts like a button when a user clicks it. Hot text is usually used to create hypertext.


hypertext. Hot text connected to a navigation link. It allows the user to navigate from one part of a piece to another. For example, the user might click a topic that's mentioned on the screen to go to the section that covers the topic in detail.


icon palette. A palette that contains Authorware's icons.


icon. A symbol that represents an object, an application, a file, or a set of instructions. In Authorware, different types of icons contain different types of objects, such as graphics, text, sound, or digital movies.


interaction icon. Presents a situation for the end user to respond to. Based on the user's response, Authorware branches to a particular path, providing feedback to the user.


judged interaction. An interaction that contains a target response you've marked right or wrong.


jump. A navigation option that allows you to jump from one place in an Authorware file to another.


library. External files in which individual icons and their contents are saved so you can reuse them.


logical variable. A variable that stores a value of true or false. Logical variables are useful for activating and deactivating options.


map icon. Contains a group of other icons. Any set of icons can be grouped into a map. Within each map icon is a flowline in its own window. Use map icons to organize a piece and make it modular.


model. A segment of a flowline, containing both objects and logic, that has been saved with its icons and logic intact so you can reuse it. Models are saved in files that are separate from the Authorware application.


motion icon. Moves text and graphic objects in the presentation window. If you plan on doing cel animation, you may want to use a separate application such as Macromedia Director and import movies using the digital movie icon.


navigate icon. Sets up a navigation link to any icon that is attached to a framework icon. When Authorware encounters a navigate icon, it goes to the icon that you set up as the destination of the navigation link.


numerical variable. Stores numbers. The numbers can be integers (13), real numbers (0.006), or negative numbers (-33). Numerical variables might contain a user's score, a topic number, or the result of a mathematical calculation.


operator . A symbol that represents the action you want Authorware to perform on one or more values. For example, a plus sign (+) tells Authorware to add two values together.


packaging. Making a separate version of your Authorware piece that users can run but not edit.


page. An icon attached directly to a framework icon.


path. One of the alternate branches attached to a decision or an interaction icon.


path name. Identifies where a file is located-the disk it's on, the folder it's inside, and so on.


perpetual response. A response type that remains active after Authorware has exited the interaction that contains it. Perpetual responses are active whenever a particular variable or condition is true. For example, use this response type when you want a help button or a menu to remain available the entire time a user is engaged in some activity.


presentation window. The window in which you arrange objects on screen and test run the piece as you construct it.


referenced variable. A system variable you can use to find out a variable's value at a specific icon within a file. A referenced variable is different from a standard system variable. A standard system variable contains the information Authorware has stored in the variable most recently; a referenced variable contains the information Authorware has stored in the variable at some specific icon.


result icon. An icon that is attached to an interaction icon and corresponds to a response that the user can make, such as clicking a button or entering text, or to an event, such as the number of tries the user made.


response status. A setting you use to define whether a response is correct or incorrect.


response type. The part of an interaction that gives users a way to interact-for example, a button to click or a field to enter text in. Response types also define what actions a user can take to respond to the interaction.


router. When you've broken a piece up into a number of files, you need to create a router-an additional piece that connects all the other parts together.


scripting Xtra. An added function that is automatically loaded into Authorware once it is placed in the Xtras folder. Scripting Xtras appear in the Functions dialog box, and are used just like Authorware's system functions.


sound icon. Plays sound files.


sprite Xtra. Extensions that add functional elements such as 3D objects, animations, and web browser windows to the Presentation window.


string. A sequence of one or more characters consisting of letters ("Mary Wagner"), numbers ("49931"), special characters ("*/"), or a combination ("Total is $5.00").


subroutine. Any single sequence of icons you've set up so that Authorware can use it in many different places.


syntax. The format of a function. You need to follow the syntax in order to use the function. The syntax includes one or more arguments enclosed in parentheses.


system functions. Built-in functions that give you ways to manipulate text, files, navigation structures, icons, graphics, and video. They increase Authorware's flexibility and extend the range of things you can accomplish.


system variable. Built-in variables that keep track of a wide range of information about decision structures, files, frameworks, graphics, video, icons, interactions, dates, and time.


tool bar. A bar at the top of the screen that contains buttons representing many Authorware commands. You can use the commands by clicking buttons instead of choosing items from the Authorware menus.


transition Xtra. Extensions you can use to create special effects when the displaying or erasing graphics.


trigger. A trigger is an action the user takes, such as clicking or double-clicking, to make an OLE object respond.


UCD. User code document, a transparent extension to the conventional DLL. A UCD preloads the information Authorware needs to recognize and link to functions within the DLL, including function names, arguments, return types, syntax templates, and online descriptions.


variable . A value that can change. Authorware creates and updates many built-in system variables automatically. You can also create your own variables to store information you need to keep track of.


verbs. The commands that let you define what an OLE object does or how to work with it. Which verbs appear at the top of the Object submenu depends on the OLE object you selected.


video icon. Displays frames of a videodisc in your piece.


wait icon. Delays all action on screen until a user clicks the mouse, presses a key, or until a designated amount of time has elapsed.


XCMDs. Resources that contain executable code that a Macintosh application can call to perform specific tasks.


Xtras. Extensions that add functionality to Authorware. See also sprite Xtra, transition Xtra, and scripting Xtra.


How to
Common Tasks

Templates


Common Tasks

Authorware basics

Using text, graphics, sound, movies, video, and sprites

Creating interactions

Directing the flow

Transitions, positioning, and motion

Managing content

Using variables and functions

Tracking and recording performance

Using Shockwave


Authorware basics

Setting up file structures

Using Authorware

Icon basics

Packaging and distribution basics

Shockwave basics


Using Authorware

Creating a new project file

Building a piece

Running and pausing a piece

Using the Control Panel

Saving a file

Opening a file


Icon basics

Inserting an icon

Setting up icons

Editing an icon

Cutting, copying and pasting icons

Displaying the content of several icons

Grouping and moving icons

Coloring icons

Displaying the Design window


Packaging and distribution basics

Packaging a piece

Packaging a library

Packaging a piece and its libraries separately


Shockwave basics

Shocking an Authorware piece

Adding a shocked piece to a web page

Configuring your server


Building a piece

Building a piece-overview

1.	Drag an icon from the icon palette to the flowline.

See Icon palette

2.	Title the icon.

Type the title in the text field to the right of the icon while the icon is selected.

Tip-Titling icons

3.	Set up the icon.

See Setting up icons

4.	Place additional icons on the flowline.

Inserting an icon

Cutting, copying, and pasting icons


Tip-Titling icons

•	Use titles that describe the icon.

•	Icon titles must be unique if a function or variable refers to the icon.

•	To title a sequence of icons, type the first title and then press Return. Authorware automatically selects the next icon on the flowline.


Inserting an icon

Drag an icon from the icon palette to the place on the flowline where you want to insert it.

Authorware adds the icon to the flowline where you release the mouse button.


Setting up icons

Displaying the Design window

Inserting an icon

Icon Properties


Why the Design window has no scrollbars

The flowline organizes icons and shows how they relate to and affect each other. Its visual representation of the order in which Authorware runs icons is important for understanding each icon's role. For that reason, the Design window has no scroll bars; the entire flowline segment that you're working with appears on the screen at the same time.

When there are too many icons on the flowline to fit in one Design window, you can organize the flowline into manageable chunks by grouping and moving icons.


Cutting, copying, and pasting icons

1.	Select and cut or copy the icons you want to paste.

2.	Click the flowline where you want to paste the icons.

3.	Choose Edit > Paste.


Running and pausing a piece

To run a piece from the beginning:

Choose Control > Restart.

or

Press 1 on the numeric keypad.

To run a segment of a piece:

1.	Drag the start flag to the beginning of the segment.

See start flag.

2.	Drag the stop flag to the end of the segment.

See stop flag.

3.	Choose Control > Restart from Flag or press 4 on the numeric keypad.

To pause a piece:

Choose Control > Pause.

or

Press 2 on the numeric keypad.


Using the Control Panel

See the Control Panel for a complete description of the buttons on the Control Panel.

Use the Control Panel to:

Restart, reset, stop, pause, and play a piece

The Restart, Reset, Stop, Pause, and Play buttons work the same as the commands on the Control menu.

Running and pausing a piece

Run segments of a piece

The Restart from Flag and Reset from Flag work the same as the commands on the Control menu.

Step over icons

The Step Over button runs the piece and pauses before each icon on the flowline. When stepping over a map icon, Authorware pauses after running all the icons in the map icon. This is especially useful for stepping over portions of a piece that are working properly.

Step into icons

The Step Into button is especially useful for studying interaction and decision icons. For example, if you step into an interaction, the piece enters the interaction and then waits for a response. When one occurs, the flow branches to the icon attached to the response type and pauses before the attached icon.

Generate a list of icons in the order they run

Trace On lists each icon's map level, type, and title. The image and title of the next icon that's set to run appear in the area above the list. This is a simple way to find out how the flowline behaves.

Display messages generated by the Trace function

The Trace function will display a specified string in the Control Panel window. This is useful for tracking what is happening to variables because it reports the values they contain as the piece runs.


Grouping and moving icons

Grouping icons places selected icons in their own map icon.

To group icons in a single map icon:

Select the icons and choose Modify > Group.

To ungroup icons:

Select their map icon and choose Modify > Ungroup.

To move several icons:

1.	Group the icons.

2.	Drag the map icon to the new location.

3.	Choose Modify > Ungroup.


Editing an icon

Editing an icon-overview

Double-click an icon to edit it.

Authorware presents the tools and enables the commands you need depending on the icon's type. Use commands from the Modify menu and the tools in the toolbox to edit the icon's contents and properties.


Displaying the Design window

To display the Design window containing the current icon:

Select View > Current Icon.

or

Press 0 on the numeric keypad.

To display a Design window by name:

Choose Window > Design > <Design window name>.

The main Design window has the same name as the file. Other Design windows have the same name as the map icon they correspond to.


Coloring icons

Coloring icons helps organize the flowline visually and emphasize the relation among icons.

1.	Select an icon or icons.

2.	Click a color in the icon color palette.

See Icon color palette


Displaying the content of several icons

To display the content of more than one icon:

1.	Double-click the first icon to open it.

2.	Shift-double-click subsequent icons.

To open a set of neighboring icons:

1.	Run the segment that contains the icons.

2.	Shift-double-click the icons that you want to edit.


Creating a new project file

1.	Choose File > New > File.

You can have only one file open at a time.

2.	Choose Modify > File > Properties to set the file options.

See File properties


Opening a file

1.	Choose File > Open > File.

2.	Choose a file from the dialog box.

3.	Click Open.

See Open File


Saving a file

To save the revised file and replace the original file:

_	Choose File > Save.

The first time you save a new file, the Save As dialog box appears.

To save the revised version in a different file:

1.	Choose File > Save As.

2.	Choose a folder in the dialog box.

3.	Type a name for the new file.

4.	Click Save.

To save and compact a file to minimize disk space:

1.	Choose File > Save and Compact.

2.	Choose a folder in the dialog box.

3.	Type a name for the compacted file.

4.	Click Save.


Packaging a piece

Ways to package a piece

1.	Open the piece and any connected libraries you want to package.

2.	Choose File > Package.

3.	Set the Package options in the dialog box.

See Package

4.	Click Save File(s) & Package.

5.	Type a name for the packaged file.

Don't use the same name as the original Authorware file. Doing so will delete the original file.

6.	Click Save.


Packaging a piece and its libraries separately

Ways to package a piece

1.	Package the piece but don't check the Package All Libraries Internally check box.

Packaging a piece

Packaging a piece without its libraries opens a Package Library dialog box for each library it uses.

2.	Select In Separate Package in the Package Library dialog box.

3.	Click Package.

After Authorware packages the libraries linked to the piece, it packages the piece itself. If any library links have been broken, Authorware asks whether you want to continue or cancel.


Packaging a library

Packaging libraries-overview

1.	Open the library and make sure it's selected.

Creating, opening, saving, and closing a library

2.	Choose File > Package.

3.	Select the options you want.

See Package Library.

4.	Click Package.


Using Director movies

Adapting a Director movie to play within Authorware

Playing a Director movie

Using Director's interactivity

Custom functions to interact with a Director movie


Director movies-overview

Authorware can integrate Macromedia Director movies into a piece, letting you combine the advantages of both. When a Director movie plays within an Authorware piece, the user can interact with both of them. The Authorware piece and Director movie can also interact with one another by sending and receiving messages between them.

Each tool has its own strengths. You'll find that Director accomplishes some things more easily than Authorware, but that Authorware can implement some types of interactivity more efficiently. For example, Director can control animation and sound more efficiently than Authorware. On the other hand, Authorware is more efficient for setting up an interaction that, say, checks how someone assembles objects on the screen or records the number of times someone performs various tasks and how long they take to do it.

Integrating a Director movie with an Authorware piece involves working with Director features such as animation, sound, and Lingo, Director's scripting language.

The digital movie icon controls much of a Director movie's behavior when Authorware plays the movie. For example, the digital movie icon controls where the movie appears on the screen, whether the Director movie repeats, and which frames of the movie to play.

Authorware can play one Director movie for each digital movie icon on the flowline. More than one digital movie icon can run at a time. When multiple Director movies play at the same time, make sure that the movies don't overlap. Overlapping movies appear to flicker as each movie tries to draw on the screen.

When the Authorware piece is running and the Director movie is playing, you can't reposition the movie or open its Digital Movie Icon Properties dialog box. You must first pause the Authorware piece. (When the movie is playing and its Properties dialog box is already open, you can reposition the Director movie on the screen.)


Playing a Director movie

Director movies-overview

To play a Director movie:

•	Import the movie into a digital movie icon.
Importing a digital movie


Using Director's interactivity

When Interactivity is checked in the Digital Movie Icon Properties dialog box, all the Director movie's Lingo (except for elements related to movie in a window) works when the movie plays within Authorware. Besides making the movie interactive for the user, this lets you take advantage of Lingo's ability to precisely control movie components such as sprites, sound, palettes, and transitions.

For example, an exitFrame handler that contains the statement go to frame 50 always sends the movie to frame 50 when Director encounters the handler. However, the same script in a mouseUp handler would work only if the user clicks the proper object and Interactivity is checked in the Movie Icon Properties dialog box.

Authorware and a Director movie within it can be interactive simultaneously. Authorware passes any relevant events to the Director movie and lets the Director movie handle them. When Interactivity is checked in the Digital Movie Icon Properties dialog box, Authorware shares mouse and key press events with the Director movie.

The Director movie's interactivity works only when the Authorware piece is running. When Authorware is paused, the movie is playing in preview, or the Digitalf Movie Icon Properties dialog box is open, the movie's interactivity is turned off.


What happens to mouse clicks

Authorware passes the Director movie any mouse clicks and location coordinates that occur over the movie.

All Authorware variables related to the mouse are updated when the mouse cursor is over a Director movie. This permits Authorware to continue tracking what users do when they interact with the Director movie.


What happens when a key is pressed

Authorware and Director both support text entry, but only one of them can have text-entry objects active at a time. A text insertion bar in the text-entry object indicates which object is active.

A text object is active when it first appears in the Director movie or the Authorware piece and remains active until another text-entry object opens or is clicked.

While you are authoring, Authorware first translates and processes any of its keyboard shortcuts and doesn't pass them on to Director. After the piece is packaged, keyboard shortcuts have no effect and are treated as regular text. However, any hot keys that were set up for Authorware still act as hot keys; Director doesn't receive hot key entries.


Custom functions to interact with a Director movie

Director interactivity-overview

Authorware can send Lingo instructions to the movie and determine the results.

The following are the four Lingo-related functions in A3DIR.UCD, A3DIR.U32, and Director.

LingoTell

LingoError

LingoResult

LingoShowErrors


LingoTell

LingoTell sends a Lingo string to a Director movie that is playing within Authorware. After the movie executes the Lingo string, the function returns an error code indicating what happened. The syntax for the LingoTell function looks like this:

errorCode  := LingoTell(IconID@IconTitle, "Lingo")

The variable errorCode represents the error code returned from the movie. When its value is 0, no error occurred. Values other than 0 indicate an error. The LingoError function can help determine the meaning of the error code.

The LingoTell function has two arguments:

Argument	Meaning
IconID@iconTitle	The ID of the digital movie icon that is playing the Director movie
Lingo	The Lingo statement that is sent to the movie. This can be a complete statement or the name of a handler that is defined in the Director movie.
When the Lingo statement includes quotation marks ("), place a backslash (\) before each quotation mark so that Authorware distinguishes it from the quotation marks used by the LingoTell function.

For example, the following function sends the Lingo statement
sound playFile 1, "Elvis" to the movie in the digital movie icon named JukeBox:

errorCode := LingoTell(IconID@JukeBox, "sound playFile 1, \"Elvis\"")


LingoError

LingoError returns a string that describes an error code returned from the LingoTell function. The syntax for the LingoError function looks like this:

string := LingoError(errorCode)

The variable string represents the descriptive string that is returned; the argument errorCode contains the error code that came from the LingoTell function.

For example, error code number 38 indicates that there is a problem with a palette. The following function assigns the variable string a description of error code 38:

string := LingoError(38)

The value assigned to string is the phrase "Palette not defined."


LingoResult

LingoResult retrieves the result of the last Lingo statement that was sent to a Director movie by the LingoTell function. The syntax of LingoResult looks like this:

result:= LingoResult(IconID@IconTitle)

The variable result represents the result that is returned. The argument IconID@IconTitle represents the title of the digital movie icon for the Director movie that received the Lingo string sent by LingoTell.

If the result is a value returned by a handler in the Director movie, the handler must use the Lingo keyword return to make the result available. For more information see the return keyword in the Lingo Dictionary.

For example, the Director movie Citizen Kane could contain the following handler, SoundLevel, that sets the sound level to a value from 0 to 7:

on SoundLevel num

  set the soundLevel to num

  updateStage

  puppetSound "Sound"

  return num

end

The argument num is a variable that contains an integer from 0 to 7.

An Authorware piece playing Citizen Kane could set the sound volume for the movie by sending the following LingoTell function:

errorCode := LingoTell(IconID@Citizen Kane, "SoundLevel num")

The following statement retrieves the result of the LingoTell function that was sent to the movie loaded in the digital movie icon named Citizen Kane. The result is assigned to the variable result:

result := LingoResult(IconID@Citizen Kane)


LingoShowErrors

LingoShowErrors controls whether Lingo error message dialog boxes are displayed. If you don't set a value for LingoShowErrors, the error messages are off by default. This is a global switch that applies to all the Director movies currently playing. The syntax of LingoShowErrors looks like this:

LingoShowErrors(showErrors)

The argument showErrors controls whether Lingo error messages are displayed. Replace showErrors with 1 to display Lingo error messages; replace showErrors with 0 to turn the error messages off.

The setting for the LingoShowErrors function applies only while movies continue to play. When no movies are playing, the LingoShowErrors function reverts to off (0), which is its default setting.


Adapting a Director movie to play within Authorware

Some of Director's features are unsupported or require some additional handling for the movie to play correctly in Authorware. The following topics list these Director features and suggests some ways to work around the situation.

Director movie size

Placing Director movies over Authorware objects

Cross-platform Director movies

Director movie in a window

Director animation

Director sound

Director tempo settings

Director custom menus

Director cursors

Quitting the Director movie

Pausing in the end frame of a Director movie

Using the Director movie's palette


Director movie size

Breaking up a Director movie into a set of smaller individual movies gives better performance when Authorware runs the movie. As a general rule, individual movies should be 1MB or smaller.

Use Lingo's play and play done commands in the Director movie to re-create the order in which movie segments play. When you want segments of the movie to play at separate times but don't need the movie to be active in between times, you can assign the individual segments to different movie icons.


Placing Director movies over Authorware objects

Director movies always appear in front of anything else in the Presentation window. Any Authorware objects behind the movie appear to flash through the movie unless the objects are assigned to Authorware's backmost layer. Avoid problems by making sure that no Authorware objects are behind the movie or by assignning these objects the lowest layer number in the object's Effects dialog box.

The Director stage's background appears the same as it does in Director. The Director stage is an opaque rectangle.


Cross-platform Director movies

A Director movie-in order to be recognized by Authorware's player for Director-must be in the proper format for the platform that Authorware is running on. On Windows, a movie must have the correct extension (DIR or DXR), and on the Macintosh, it must have the correct creator and type information. It's easy to convert a movie formatted for one platform to the format for the other platform. For example, you can convert a Director for Windows movie to Director for Macintosh format by opening and saving the movie in Director for Macintosh.


Director movie in a window

When Authorware tries to play a Director movie that uses the movie in a window feature, the main movie still plays but the movie in a window doesn't appear. You can often work around this by extracting the movie that's in the window and controlling it directly from Authorware.


Director animation

Director animation works the same way within Authorware. However, a Director movie can't play in reverse.


Director sound

Authorware and Director can both play sounds when the Director movie plays within Authorware. When the sounds can play differs on Windows and Macintosh computers.

Windows	Only one application can play sound at a time. When no sound is playing, the sound channel is available for either application to start playing sound. The application that is playing a sound has control of the sound channels until the sound finishes.
Macintosh	Both applications can play sound simultaneously.


Director tempo settings

Authorware's Digital Movie Icon Properties dialog box sets the Director movie's tempo when the movie starts to play. After the movie has started playing, any tempo settings that are encountered within the movie take precedence over the settings in the Digital Movie Icon Properties dialog box.

For example, if the Rate is set to 20 frames per second in the Digital Movie Icon Properties dialog box, the Director movie initially plays at 20 frames per second. But if the Director movie encounters a 15 frames-per-second setting in its tempo channel, the movie's tempo changes to 15 frames per second. Likewise, subsequent tempo settings become the movie's setting whenever they are encountered.

The "Wait for" options (Wait for Mouse Click or Key, Wait for Sound to Finish, and Wait for Digital Video Movie to Finish) in Director's Set Tempo dialog box have no effect when the movie plays within Authorware. You can still use the Tempo option to change the tempo.

Tempo changes performed by the puppetTempo command still work as long as Interactivity is checked in the Digital Movie Icon Properties dialog box for the Director movie.


Director custom menus

Custom menus in a Director movie don't appear and have no effect when the movie plays within Authorware. Consider using a pull-down menu interaction in Authorware to re-create custom Director menus.


Director cursors

Both Authorware and Director can set the cursor, but if both try to do so at the same time, the cursor flashes back and forth as each application tries to set it.


Quitting the Director movie

When a Director movie plays within Authorware, the Lingo commands quit, restart, and shutDown stop the Director movie but leave Authorware running. These commands don't restart or shut down the computer. To remove a stopped movie from memory, you must still use an erase icon in Authorware.


Pausing in the end frame of a Director movie

When a pause command is executed in the frame that is set in the End Frame field of the Digital Movie Icon Properties dialog box, Authorware assumes that the Director movie is finished and stops it. To make the movie appear paused but still keep it playing, use a go to the frame command instead of a pause command in the end frame.


Using the Director movie's palette

Before you can play a Director movie with a custom palette in an Authorware piece, you need to load the custom palette into the piece separately from the movie.

Loading a custom palette


Loading a custom palette

1.	In Director, export the frame that contains the custom palette as a DIB file.

2.	In Authorware, choose Modify > File > Palette.

3.	In the Palette dialog box, click the Load button, then open the DIB file resource file that contains the palette you exported from the Director movie.

See Palette


Linking external content

Linking to external files

Editing the link to an external file

Linking to a different external file

Defining a link with an expression

Fixing a link to an external file

Movie files and external linking


Linking to external files

Dragging and dropping in Authorware-overview

Links to external media-overview

_	External media can be added to an Authorware piece by enabling the Link to File check box in the Import dialog box.

See Import.

or

_	Shift-drag a file onto the Authorware flowline, the Presentation window, or a library.

Holding down the shift key while dragging makes a link symbol appear in the lower right hand corner of the cursor, indicating that the content will be linked externally.


Editing the link to an external file

1.	Choose Window > External Media Browser.

2.	In the media list, select the link you want to edit.

To simultaneously change information that's common to several links, Shift-click the links to select all of them.

If the file is linked with an expression:

_	Change the information in the Expression field.

Defining a link with an expression

If the file is linked with a literal path:

_	Change the information in the File or Path fields.

or

_	Edit the information in the media list. (Drag the lower right corner of the dialog box to make it bigger.)

Using a wild card character (*) in either the File or Path field won't change the value of the field for the given selection. Wild card characters are useful for changing just the path or the file name at runtime.


Linking to a different external file

1.	Choose Window > External Media Browser.

2.	In the media list, select the file you want to replace.

_	Click the Browse button, select the new file, and click Import.

or

_	Type the name of the new file in the File field. (Change the path as well if it's not correct.)


Defining a link with an expression

1.	Choose Window > External Media Browser.

2.	In the media list, select the link you want to define.

To define several links simultaneously, Shift-click the links to select all of them.

3.	Click the Expression button.

4.	Type the expression in the Expression field.

The Expression field can hold a single variable or an expression.

Variable Example

Expression Example


Variable example

The variable must be preceded by an equal sign (=). This example shows a variable named BitmapFileVar that contains a relative path to an external bitmap file (BitmapFileVar := "TEST.BMP").

=BitmapFileVar


Expression example

The expression must be preceded by an equal sign (=). This example shows the system variable FileLocation concatenated to a variable named BitmapFileVar that contains the name of an external bitmap file (BitmapFileVar := "TEST.BMP").

=FileLocation^BitmapFileVar


Fixing a link to an external file

1.	Choose Window > External Media Browser.

2.	In the media list, select the link you want to fix.

If the broken link is a literal one:

_	Click the Browse button, select the file you want, and click Set Path.

or

_	Change the information in the File or Path fields.

or

_	Edit the information in the media list. (Drag the lower right corner of the dialog box to make it bigger.)

If the broken link is an expression:

Correct the expression in the Expression field.


Setting up file structures

Specifying where Authorware searches for files

Changing the records folder


Specifying where Authorware searches for files

Default search path-overview

Specifying file locations-overview

1.	Choose Modify > File > Properties.

2.	Click the Interaction tab.

3.	In the Search Path field, specify the location of external files.

If you do not specify a drive in the path, Authorware defines the path relative to the location of the Authorware file.

To specify multiple search paths, separate the names with semicolons. For example, the following path searches the root level of a hard drive named Main and then searches the A4W directory of a mounted file server named Group:

Main\; Group\A4W


Changing the records folder

Records folder-overview

User records-overview

Specify the folder in the variable RecordsLocation.

By default, Authorware sets the records folder to A4W_DATA in the Windows directory.

RecordsLocation

Specify the new records folder in the last argument of the JumpFile or JumpFileReturn function.

Include the literal pathname in quotation marks or use a variable to specify the new records folder. The records folder changes when Authorware jumps to the file.

For example, the following statement jumps to the file Chapter2, which is in the same folder as Authorware, and designates the folder Student1 as the user record location:

 JumpFile("Chapter2","","C:\\STUDENT1\\")

Note: This example doesn't use its second argument to pass values for any variables.

JumpFile

JumpFileReturn

Show Me: Logon


Creating interactions

Giving users a way to interact

Setting up a button

Setting up a pull-down menu

Setting up a hot spot

Setting up a hot object

Waiting for a keypress

Setting up a text-entry field

Setting up hot text

Letting users drag an object to a target

Tracking and reacting to circumstances

Limiting the number of tries

Putting a time limit on an interaction

Handling a correct answer with several parts

Reacting to special conditions

Tracking and reacting to events

Setting up an event response


Setting up a button

Button interactions

Show Me: Button Interaction

1.	Drag an interaction icon to the flowline and title it.

Adding text or graphics to an interaction icon

Setting interaction icon properties

2.	Drag an icon to the right of the interaction icon.

Buttons-the result icon

3.	Select Button in the dialog box and click OK.

Displaying the Response Type dialog box

4.	Select the result icon and name it.

How a button gets labeled

Creating a custom button

Editing a custom button

Selecting a check box, a radio button, or a custom button

Resizing or repositioning a button quickly

Resizing or repositioning a button precisely

5.	Double-click the button response symbol, click the Response tab, and select the Erase and Branch options. Click OK.

Button response properties

Tip-Button properties

6.	Set up the result icon.

Changing the result icon

Setting up icons


Buttons-the result icon

An icon attached to an interaction icon is called a result icon. The result icon determines what happens when a user clicks the button. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any icon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Displaying the Response Type dialog box

The Response Type dialog box appears automatically whenever you place a result icon to the immediate right of the interaction icon. If you place a result icon to the immediate right of another result icon, Authorware doesn't display the dialog box because it assumes that you want to use the same symbol you last chose. If the Response Type dialog box doesn't appear automatically, double-click the response type symbol to display it. See Response type for more information.


How a button gets labeled

A response type symbol and the result icon attached to it form a single unit and share a title. If you use one of the standard buttons from the Button Library dialog box, Authorware also uses the title as the button's label. You can also set up a custom button so that Authorware uses the title you type as its label.


Tip-Button properties

Authorware automatically gives a button the same characteristics (such as the same Erase, Status, and Branch options) as the last button you set up in the interaction.


Adding text or graphics to an interaction icon

Text, graphics, and the interaction icon

Double-click an interaction icon to open it.


Setting interaction icon properties

Authorware automatically gives a button the same properties as the last button you created in the interaction.

Control-double-click the interaction icon.

Interaction properties. Use the interaction properties to select an erase transition, add a pause at the end of the interaction, and to determine when Authorware erases the text and graphics in the interaction icon.

Display properties. Use the display properties to determine how the interaction icon's contents appear on the Presentation window, if updated variables are displayed, if text in the interaction icon is excluded from a Search, how text and graphics appear, and how they're erased.

Layout properties. Use the layout properties to position objects on the Presentation window and to create movable objects.

See Interaction properties.


Setting text field properties

1.	Control-double-click the interaction icon.

2.	When the dialog box appears, click the Text Field button.

3.	Set the properties then click OK.

Text field properties


Selecting a check box, a radio button, or a custom button

Authorware uses a standard Windows or Macintosh button unless you select a check box, a radio button, or a custom button from the Buttons dialog box.

Buttons, check boxes, and radio buttons

Custom buttons

1.	Double-click the button response type symbol.

2.	Click Buttons to display the button library.

3.	Select the button you want, then click OK to close the Buttons dialog box.

4.	Click OK to close the dialog box.


Resizing or repositioning a button quickly

You can resize Authorware's standard buttons and copies of them. You can't resize custom buttons.

1.	Double-click the interaction icon.

Displaying the content of several icons

2.	Select the button.

-	To resize the button, drag any of its handles.

-	To move the button, drag it.

-	To adjust the position of the button one pixel at a time, use the cursor keys.


Resizing or repositioning a button precisely

You can resize Authorware's standard buttons and copies of them. You can't resize custom buttons.

1.	Double-click the button's symbol.

2.	In the Size fields, enter the width and height of the button in pixels.

3.	In the Location fields, enter the coordinates of the button's upper left corner.

The field on the left shows the number of pixels from the left edge of the Presentation window; the field on the right shows the number of pixels from the top of the Presentation window.

You can also use variables in the Size and Location fields. See Using variables, functions, and expressions.


Changing the result icon

If you haven't used a map icon as the result icon and you want to replace the icon or add more icons to the result path:

1. Select the result icon and choose Modify > Group.

Authorware places the result icon inside a map icon.

2. Open the map icon and make changes.

If there is only one icon inside the map icon:

•	Select the map icon and choose Modify > Ungroup.

Authorware replaces the map icon with the icon that was inside it.


Creating a custom button

Custom buttons

1.	Choose Window > Buttons.

2.	Click Add to display the Button Editor.

3.	In the upper left part of the Button Editor, select a state.

See Button sates.

4.	Set up the button's graphic, or select None.

Button graphics

Importing a button graphic

Returning to the default button graphic

See Button graphic options.

5.	Select Show Label to show the button's label, or None to hide it. Choose an alignment setting.

Button labels

See Button label options.

6.	Set up the button's sound, or select None.

Button sounds

Importing a button sound

Returning to the default button sound

See Button sound options.

7.	Click OK to close the Button Editor, then click OK again to close the Buttons dialog box.


Button graphics

If you don't import a graphic for a particular state, Authorware automatically uses the graphic you've imported for a different state. It's not a random process-each state, except the Up state, has a specific state from which it derives its default graphic. Up, however, has no default; if you don't import a graphic for it, it remains blank.


Importing a button graphic

1.	Click the Import button next to the Graphic setting.

2.	Select the graphics file from the Import dialog box.

3.	Click Import.


Returning to the default button graphic

1.	Select Same As from the list of options.

2.	Click OK in the dialog box that appears.


Button labels

A button's label is the title of the result icon attached to the button's symbol.

The label also appears in the Button Name field in the Button Options dialog box. The Button Editor dialog box lets you show or hide the label. To change the label, change the title of the result icon or the text in the Button Name field.

If you don't select a Label setting for a particular state, Authorware uses the setting you've selected for the state from which the current state derives its default graphic.


Button sounds

If you don't import a sound for a particular state, Authorware uses the sound you've imported for the state from which the current state derives its default graphic.


Importing a button sound

1.	Click the Import button next to the Sound setting.

2.	Select the sound file from the Import dialog box.


Returning to the default button sound

1.	Select Same As from the list of options.

2.	Click OK in the dialog box that appears.


Editing a custom button

Custom buttons

1.	Choose Window > Buttons.

2.	Select a button, then click Edit.

3.	In the upper left part of the Button Editor, select a state.

See Button sates.

4.	Set up the button's graphic, or select None.

Button graphics

Importing a button graphic

Returning to the default button graphic

See Button graphic options.

5.	Select Show Label to show the button's label, or None to hide it. Choose an alignment setting.

Button labels

See Button label options.

6.	Set up the button's sound, or select None.

Button sounds

Importing a button sound

Returning to the default button sound

See Button sound options.

7.	Click OK to close the Button Editor, then click OK again to close the Buttons dialog box.


Creating a custom button collection

Custom button collections

1.	Open a new file and create custom buttons.

Creating a custom button

2. 	Drag an interaction icon to the flowline and then drag a map icon to the right of it.

3. 	Select Button as the map icon's response type and select the first custom button in the collection.

4. 	Drag a second map icon to the right of the first and select the second custom button in the collection.

5. 	Repeat the process for each button in the collection.

6. 	Select the entire interaction and save it as a model.

Creating a model


Assigning a shortcut key to a button

1.	Double-click the button's symbol.

2.	In the Key(s) field on the Button tab, type the key you want to use as the shortcut.

Button response properties

Shortcut key rules

Key names


Making one button the default

Authorware displays a heavy line around the default button. Pressing Enter is the same as clicking the button.

1.	Double-click the button's symbol.

2.	Click the Button tab and select the Make Default option.


Setting up a button that's always available

Perpetuals-interactions that are always active

1.	Double-click the button's symbol.

2.	Click the Response tab, then select the Perpetual setting.

3.	Select the Erase and Branching options you want.

Button properties

Perpetuals and Return branching


Limiting when a button is active

Inactive buttons, menu items, and other response types

1.	Double-click the button's symbol.

2.	Click the Response tab.

3.	In the Active If field, type the variable or expression that defines when the button should be available.

To dim a button when it's inactive:

-	On the Button tab, turn off Hide When Inactive.

Dimming a button displays the graphic associated with the button's Disabled state. See Button state in State.

To hide a button when it's inactive:

-	On the Button tab, turn on Hide When Inactive.

Hiding a button removes it from the Presentation window when it's inactive.


Hiding or dimming an inactive button

Inactive buttons, menu items, and other response types

•	Double-click the button's symbol.

To dim a button when it's inactive:

-	Turn off Hide When Inactive on the Button tab.

Dimming a button displays the graphic associated with the button's Disabled state. See Button state in State.

To hide a button when it's inactive:

-	Turn on Hide When Inactive on the Button tab.

Hiding a button removes it from the Presentation window when it's inactive.


Setting up a pull-down menu

Pull-down menus

1.	Drag an interaction icon to the flowline and name it.

Adding text or graphics to an interaction icon

Setting interaction icon properties

2.	To set up the first item on the menu, drag an icon to the right of the interaction icon.

Pull-down menus-the result icon

3.	Select Pull-down Menu in the dialog box and click OK.

Displaying the Response Type dialog box

4.	Double-click the response type symbol and type the name for the menu in the Menu Item field.

5.	Click the Response tab and select the Erase and Branch options. Click OK.

Pull-down menu response properties

Tip-Pull-down menu properties

6. For each additional menu item, drag a result icon to the interaction and repeat steps 4 and 5.

7.	Set up the result icon for each menu item.

Changing the result icon

Setting up icons

Show Me: Pulldown


Pull-down menus-the result icon

Authorware uses the title of each icon as the name of an item on the menu.

An icon attached to an interaction icon is called a result icon. The result icon determines what happens when a user chooses the corresponding item on the pull-down menu. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any icon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Tip-Pull-down menu properties

Authorware automatically gives a menu item the same characteristics (such as the same Erase, Status, and Branch options) as the last menu item you set up in the interaction.


Adding a separator between groups of menu items

1. Drag a map icon between the icons where the separator should appear.

2. For the title of the icon, type a left parenthesis and a hyphen:

(-


Assigning a hot key to a menu item

A hot key is a single key that when typed, automatically chooses a particular menu item in the currently selected pull-down menu.

•	Use an ampersand (&) in the title of the menu item's symbol.

Place the ampersand before the letter that you want to use as a hot key. For example, in a menu item named Test, using &Test as its title assigns the letter T as the hot key; using T&est assigns the letter e as the hot key.

Menu item hot keys are not case-sensitive. For example, don't assign R to one menu item and r to another.

To display an ampersand as part of the menu item, type two ampersands (&&).

Note: This feature is available only in Windows. If you're doing cross-platform development, use Authorware's Key(s) field to assign a shortcut key. See Assigning a shortcut key to a menu item.


Assigning a shortcut key to a menu item

1.	Double-click the menu item's response type symbol.

2.	In the Key(s) field on the Menu tab, type the key you want to use as the shortcut.

In Windows, pressing Control and the shortcut key selects the menu item it's assigned to; on a Macintosh, pressing Command and the shortcut key does the same.

Menu key rules


Menu key rules

Pull-down menu item shortcut keys aren't case sensitive. For example, don't assign R to one menu item and r to another.

However, Authorware does distinguish between different symbols that are typed with the same key. For example, you can assign the plus (+) and equal (=) signs to different menu items even though they appear on the same key on the keyboard. If you assign the plus sign to a menu item, the shortcut becomes:

Windows: Control-Shift and the Plus/Equals key

Macintosh: Command-Shift and the Plus/Equals key

If you assign the equal sign to a menu item, the shortcut becomes:

Windows: Control and the Plus/Equals key

Macintosh: Command and the Plus/Equals key

Key names


Setting up a pull-down menu that's always available

Perpetuals-interactions that are always active

1.	Double-click a menu item's symbol.

2.	Click the Response tab, then select the Perpetual setting.

3.	Select the Erase and Branch options you want.

Response tab

Perpetuals and Return branching

4.	Repeat steps 1-3 for each item on the menu.


Limiting when a menu item is active

Inactive buttons, menu items, and other response types

1.	Double-click the menu item's symbol.

2.	Click the Response tab.

3.	In the Active If field, type the variable or expression that defines when the menu item should be active.

When the variable or expression is false, Authorware dims the menu item.


Disabling a menu item

Type a left parenthesis- ( -before the name of the menu item.


Setting up a hot spot

Hot spots interactions

1.	Drag an interaction icon to the flowline and name it.

Adding text or graphics to an interaction icon

Setting interaction icon properties

2.	Drag an icon to the right of the interaction icon.

Hot spots-the result icon

3.	Select Hot Spot in the dialog box and click OK.

Displaying the Response Type dialog box

4.	Select the result icon and name it.

Resizing or repositioning a hot spot quickly

Resizing or repositioning a hot spot precisely

5.	Double-click the hot spot response symbol, click the Response tab, and select the Erase and Branch options. Click OK.

Hot spot response properties

Tip-Hot spot properties

6.	Set up the result icon.

Changing the result icon

Setting up icons

Show Me: Hot Spot Interaction


Hot spots-the result icon

An icon attached to an interaction icon is called a result icon. The result icon determines what happens when a user clicks the hot spot. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any icon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Tip-Hot spot properties

Authorware automatically gives a hot spot the same characteristics (such as the same Erase, Status, and Branch options) as the last hot spot you created in the interaction.


Resizing or repositioning a hot spot quickly

1.	Run the piece from the beginning or from the start flag.

Start flag

Stop flag

2.	When Authorware reaches the hot spot interaction, pause the piece.

Running and pausing a piece

3.	Select the hot spot.

-	To resize the hot spot, drag any of its handles.

-	To move the hot spot, drag it.

-	Use the cursor keys to adjust the position of the hot spot one pixel at a time.

Tip-Displaying hot spots


Tip-Displaying hot spots

To display the hot spots that are active, click the Show Invisible Items button on the Control Panel.


Resizing or repositioning a hot spot precisely

1.	Double-click the hot spot's symbol.

2.	In the Size fields, enter the width and height of the hot spot in pixels.

3.	In the Location fields, enter the coordinates of the hot spot's upper left corner.

The field on the left shows the number of pixels from the left edge of the Presentation window; the field on the right shows the number of pixels from the top of the Presentation window.

You can also use variables in the Size and Location fields. See Using variables, functions, and expressions.


Assigning a shortcut key to a hot spot

1.	Double-click the hot spot's symbol.

2.	In the Key(s) field on the Hot Spot tab, type the key you want to use as the shortcut.

Hot spot response properties

Key rules

Key names


Setting up a hot spot that's always available

Perpetuals-interactions that are always active

1.	Double-click the hot spot's symbol.

2.	Click the Response tab, then select the Perpetual setting.

3.	Select the Erase and Branching options you want.

Response tab

Perpetuals and Return branching


Limiting when a hot spot is active

Inactive buttons, menu items, and other response types

1.	Double-click the hot spot's symbol.

2.	Click the Response tab.

3.	In the Active If field, type the variable or expression that defines when the hot spot should be active.


Selecting a custom cursor for a hot spot

1.	Double-click the hot spot's symbol.

2.	On the Hot Spot tab, point to the cell next to Cursor and hold down the mouse button.

3.	Choose a cursor.

See Cursors


Setting up a catchall hot spot

Catchall hot spots

1. Drag an icon to the right of the last response type symbol you set up.

2. Give the icon a title, such as Catchall.

3. In the Presentation window, resize the catchall hot spot so it covers the entire area where it should be active.

4. Set up appropriate feedback for the catchall area.

Setting up icons


Highlighting a hot spot

1.	Double-click the hot spot's symbol.

2.	Select the Highlight on Match setting on the Hot Spot tab.


Clicking, double-clicking, or rolling over a hot spot

1.	Double-click the hot spot's symbol.

2.	On the Hot Spot tab, choose the appropriate setting from the Match pop-up menu.

Hot spot properties


Setting up a hot object

Hot object interactions

1.	Drag an interaction icon to the flowline and title it.

Adding text or graphics to an interaction icon

Setting interaction icon properties

2.	Drag an icon to the right of the interaction icon.

Hot objects-the result icon

3.	Select Hot Object in the dialog box and click OK.

Displaying the Response Type dialog box

4.	Select the result icon and give it a name.

Tip-Setting up several hot objects

5.	Run the piece from the beginning or from the start flag.

Start flag

Stop flag

6.	Select an object and set the hot object properties.

Connecting a hot object response to an object

7.	Set up the result icon.

Changing the result icon

Setting up icons

Show Me: Q_HOT


Hot objects-the result icon

An icon attached to an interaction icon is called a result icon. The result icon determines what happens when a user clicks the hot object. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any icon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Tip-Setting up several hot objects

Repeat the preceding steps for each response type symbol you're setting up before you select the object to designate as the first symbol's target; or select the object you want as the target for the first symbol and then set up the others.


Connecting a hot object response to an object

First see Setting up a hot object.

When Authorware reaches the interaction that contains the response type symbol you've set up, the Hot Object response properties dialog box appears.

Connecting a hot object symbol with an object designates the object as the symbol's target. When a user clicks the object, the symbol directs the flow down the path to the result icon you've attached to the symbol.

1.	Click the object you want to make hot.

Hot objects

2.	Click the Response tab, and select the Erase and Branch options.

Response tab

Tip-Hot object properties


Hot objects

A hot object includes all the objects in a display icon even if they are separate objects within the icon.


Tip-Hot object properties

Authorware automatically gives a hot object the same characteristics (such as the same Erase, Status, and Branch options) as the last hot object you set up in the interaction.


Assigning a shortcut key to a hot object

1.	Double-click the hot object's symbol.

2.	In the Key(s) field on the Hot Object tab, type the key you want to use as the shortcut.

Hot object response properties

Key rules

Key names


Setting up a hot object that's always available

Perpetuals-interactions that are always active

1.	Double-click the hot object's symbol.

2.	Click the Response tab, then select the Perpetual setting.

3.	Select the Erase and Branching options you want.

Response tab

Perpetuals and Return branching


Limiting when a hot object is active

Inactive buttons, menu items, and other response types

1.	Double-click the hot object's symbol.

2.	Click the Response tab.

3.	In the Active If field, type the variable or expression that defines when the hot object should be active.


Selecting a custom cursor for a hot object

1.	Double-click the hot object's symbol.

2.	On the Hot Spot tab, point to the cell next to Cursor and hold down the mouse button.

3.	Choose a cursor.


Highlighting a hot object

1.	Double-click the hot object's symbol.

2.	Select the Highlight on Match setting on the Hot Object tab.


Clicking, double-clicking, or rolling over a hot object

1.	Double-click the hot object's symbol.

2.	On the Hot Object tab, choose the appropriate setting from the Match pop-up menu.

Hot object response properties


Waiting for a keypress

Keypress interactions

1.	Drag an interaction icon to the flowline and title it.

Adding text or graphics to an interaction icon

Setting interaction icon properties

2.	Drag an icon to the right of the interaction icon.

Keypress interactions-the result icon

3.	Select Keypress in the dialog box and click OK.

Displaying the Response Type dialog box

Tip-Setting up several keypress symbols

4.	Double-click the keypress response symbol, and in the Key(s) field, type the key or keys you want to recognize as a match.

You can also type the key or keys as the result icon's title in the Design window.

The default target response is a question mark (?), which acts as a wildcard and accepts any key as a match.

Key rules

Key names

5.	Click the Response tab, and select the Erase and Branch options. Click OK.

Response tab

Tip-Keypress properties

6.	Set up the result icon.

Changing the result icon

Setting up icons

Show Me: Keypress


Keypress interactions-the result icon

An icon attached to an interaction icon is called a result icon. The result icon determines what happens when a user presses the target key. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any icon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Tip-Setting up several keypress symbols

Repeat the preceding steps for each keypress symbol you're setting up before defining the target key for the first one, or define the target key for the first one and then set up the other symbols.


Tip-Keypress properties

Authorware automatically gives a keypress symbol the same characteristics (such as the same Erase, Status, and Branch options) as the last keypress symbol you set up in the interaction.


Limiting when a keypress symbol is active

Inactive buttons, menu items, and other response types

1.	Double-click the keypress symbol.

2.	Click the Response tab.

3.	In the Active If field, type the variable or expression that defines when the keypress symbol should be active.


Setting up a text entry field

Text entry interactions

1.	Drag an interaction icon to the flowline and title it.

Adding text or graphics to an interaction icon

Setting interaction icon properties

2.	Drag an icon to the right of the interaction icon.

Text entry fields-the result icon

3.	Select Text Entry in the dialog box and click OK.

Displaying the Response Type dialog box

Resizing or repositioning a text entry field quickly

Resizing or repositioning a text entry field precisely

Tip-Setting up several text entry symbols

4.	Double-click the text entry symbol, and in the Pattern field, type the text you want to recognize as a match.

You can also type the text as the result icon's title in the Design window.

The default target response is an asterisk (*), which acts as a wildcard and accepts any text as a match.

Text entry rules

5.	Click the Response tab, and select the Erase and Branch options. Click OK.

Response tab

Tip-Text entry properties

6.	Set up the result icon.

Changing the result icon

Setting up icons

Show Me: Screening Text or Numbers, Free Form Text, and Short Text Interaction


Text-entry fields-the result icon
Text entry fields-the result icon

An icon attach ed to an interaction icon is called a result icon. The result icon determines what happens when a user enters the target text. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any icon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Tip-Setting up several text-entry symbols

Repeat the preceding steps for each text-entry symbol you're setting up before defining the target text for the first one, or define the target text for the first one and then set up the other symbols.


Tip-Text entry properties

Authorware automatically gives a text entry symbol the same characteristics (such as the same Erase, Status, and Branch options) as the last text entry symbol you set up in the interaction.


Resizing or repositioning a text-entry field quickly
Resizing or repositioning a text entry field quickly

1.	Double-click the interaction icon.

Displaying the content of several icons

2.	Select the text entry field.

-	To resize the text entry field, drag any of its handles.

-	To move the text entry field, drag it. Use the cursor keys to adjust the position of the field one pixel at a time.


Resizing or repositioning a text-entry field precisely
Resizing or repositioning a text entry field precisely

1.	Control-double-click the interaction icon.

2.	Click the Text Field button.

3.	In the Size fields, enter the width and height of the field in pixels.

4.	In the Location fields, enter the coordinates of the text entry field's upper left corner.

The field on the left shows the number of pixels from the left edge of the Presentation window; the field on the right shows the number of pixels from the top of the Presentation window.

5.	Click OK to close the Text Field Properties dialog box, then click OK again.

You can also use variables in the Size and Location fields. See Using variables, functions, and expressions.

Show Me: Notepad


Defining the default text for a field

Use the system variable PresetEntry to indicate the text that should appear by default in a text entry field. Users can change the text by typing something different in the field.

1.	Drag a calculation icon to the flowline above the interaction that contains the text entry field.

2.	Open the calculation icon and type:

PresetEntry := "default text"

Make sure that you enclose the default text in quotation marks.

3.	Close the calculation icon by pressing Enter on the keypad.


Handling numerical entries

Handling and evaluating numbers that users enter is easier than text because you can group numbers into equal-to, greater-than, and less-than categories.

Suppose, for example, that you want to ask the question "How many neutrons are there in an atom of Uranium 238?" The structure of the interaction looks like this:

There's a single text entry response type symbol that creates the text entry field and acts as the catchall symbol. The other three symbols are conditional. One targets all the values less than the correct answer, one targets the correct answer, and the third targets all the values larger than the correct answer.

For information about setting up a conditional response type symbol, see Reacting to special conditions.


Limiting the length of a text entry

1.	Control-double-click the interaction icon.

2.	Click the Text Field button.

3.	In the Character Limit field, type the number of characters you want to set as the limit.

Interaction text field properties

4.	To automatically accept the user's entry when it reaches the limit, select the Auto-Entry at Limit setting.

5.	Click OK to close the Text Field Properties dialog box, then click OK again.


Accepting a user's entry automatically

You can have Authorware accept a user's entry automatically only if you set a limit on the number of characters the user can type.

1.	Control-double-click the interaction icon.

2.	Click the Text Field button.

3.	In the Char. Limit field, type the number of characters you want to set as the limit.

Interaction text field properties

4.	Select the Auto-Entry at Limit setting.

5.	Click OK to close the Text Field Properties dialog box, then click OK again.


Changing the entry key

Authorware waits for users to press the Enter key before it looks at the text they've typed. You can set a different entry key, such as Tab.

1.	Control-double-click the interaction icon.

2.	Click the Text Field button.

3.	Click the Interaction tab, and in the Action Key(s) field, type the name of the key or keys you want to use.

Interaction text field properties

Key names


Ignoring empty text entries

1.	Control-double-click the interaction icon.

2.	Click the Text Field button.

3.	Click the Interaction tab, then select the Ignore Null Entries option.

Interaction text field properties


Hiding the triangular text entry field marker

1.	Control-double-click the interaction icon.

2.	Click the Text Field button.

3.	Click the Interaction tab, then deselect the Entry Marker option.

Interaction text field properties


Limiting the number of words a user needs to match

1.	Double-click the text entry symbol.

2.	In the Match at Least field on the Text Entry tab, type the number of words in the pattern a user's entry needs to match.

Text entry response properties


Accepting words on subsequent tries

1.	Double-click the text entry symbol.

2.	Select Incremental Matching on the Text Entry tab.

Text entry response properties


Setting the style of user-entered text

1.	Control-double-click the interaction icon.

2.	Click the Text Field button.

3.	Click the Text tab, and select the settings you want.

Interaction text field properties


Setting up hot text

Hot text

1.	Drag a display icon to the flowline and open it.

2.	Type or import text into the Presentation window, then close the display icon.

Working with text

3.	Set up a conditional interaction.

Setting up a conditional interaction for hot text

4.	Set up the target condition.

Setting up the target condition for hot text

5.	Click the Response tab, and select the Erase and Branch options.

To provide feedback for any other word a user might click, set up a catchall hot spot. See Setting up a catchall hot spot

Show Me: Hottext


Setting up a conditional interaction for hot text

First see Setting up hot text.

1.	Drag an interaction icon to the flowline and title it.

Adding text or graphics to an interaction icon

Setting interaction icon properties

2.	Drag a result icon to the right of the interaction icon.

Conditional symbols-the result icon

3.	Select Conditional in the dialog box and click OK.

Displaying the Response Type dialog box


Conditional symbols-the result icon

An icon attached to an interaction icon is called a result icon. The result icon determines what happens when the target condition you define happens. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any icon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Setting up the target condition for hot text

First see Setting up hot text.

The target condition identifies the text that you want to make hot.

1.	Double-click the conditional symbol.

2.	In the Condition field on the Conditional tab, type:

WordClicked=

3.	Next, type the text you want to make hot.

Be sure to enclose the word in quotation marks. Example.

4.	Select On False To True as the Automatic setting.


Example-Target condition for hot text

For example, if you want the target response to be the noun in the sentence "I gave him three dollars," you'd type:

WordClicked="dollars"


Letting users drag an object

Target area interactions

1.	Make an object movable.

Making an object movable

2.	Set up the target area symbol.

Setting up a target area response symbol

3. Connect the object with its target area.

Connecting an object with its target area

4.	Set up the result icon.

Changing the result icon

Setting up icons

Tip-Displaying target areas

Show Me: Q_Target


Tip-Displaying target areas

To display the target areas that are active, click the Show Hidden Objects button on the Control Panel.


Making an object movable

First see Letting users drag an object.

1.	Select the display icon that contains the object.

2.	Choose Modify > Icon > Properties.

3.	Click the Layout tab and select Anywhere from the Movable options. Click OK.


Setting up a target area response symbol

First see Letting users drag an object.

1.	Drag an interaction icon to the flowline and title it.

Adding text or graphics to an interaction icon

Setting interaction icon properties

2.	Drag an icon to the right of the interaction icon.

Target areas-the result icon

3.	Select Target Area in the dialog box and click OK.

Displaying the Response Type dialog box

4.	Select the result icon and give it a name.

Tip-Setting up several target areas


Target areas-the result icon

An icon attached to an interaction icon is called a result icon. The result icon determines what happens when a user drags an object to its target. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any iaon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Tip-Setting up several target areas

Repeat the preceding steps for each target area you're setting up before connecting the first one with its object, or connect the first one with its object and then create the other target areas.


Connecting an object with its target area

First see Letting users drag an object.

1.	Run the piece from the beginning or from the start flag.

Start flag

Stop flag

Tip-Running from the start flag

The Target Area Properties dialog box and a dotted rectangle that marks the target area appear.

2.	Drag the object-not the dotted rectangle-to the place you want to mark as the target area.

Authorware centers the dotted rectangle over the target area.

Resizing or repositioning a button quickly
Resizing or repositioning a button precisely

Tip-The target area boundaries

3.	Click the Response tab, and select the Erase and Branch options. Click OK.

Target area response properties

Tip-Target area properties

If you've set up more than one target area symbol in the interaction, the Target Area Response Properties dialog box appears for each of them.


Tip-Running from the start flag

Make sure that the start flag comes before:

•	The display icon that contains the background for the interaction

•	The display icon that contains the object you're connecting with the target area


The target area boundaries
Tip-The target area boundaries

The dotted rectangle defines the boundaries of the target area. When a user drags an object toward its target, Authorware recognizes it as a match only if the tip of the pointer is inside the area defined by the dotted rectangle when the user releases the mouse button.


Tip-Target area properties

Authorware automatically gives a target area the same characteristics (such as the same Erase, Status, and Branch options) as the last target area you created in the interaction.


Resizing or repositioning a target area quickly

1.	Double-click the interaction icon if the target area isn't displayed.

Displaying the content of several icons

2.	Select the target area.

-	To resize the target area, drag any of its handles.

-	To move the target area, drag it.

-	Use the cursor keys to adjust the position of the target area one pixel at a time.


Resizing or repositioning a target area precisely

1.	Double-click the target area symbol if the dialog box isn't open.

2.	In the Size fields, enter the width and height of the target area in pixels.

3.	In the Location fields, enter the coordinates of the target area's upper left corner.

The field on the left shows the number of pixels from the left edge of the Presentation window; the field on the right shows the number of pixels from the top of the Presentation window.

You can also use variables in the Size and Location fields. See Using variables, functions, and expressions.


Setting up a target area that's always available

Perpetuals-interactions that are always active

1.	Double-click the target area symbol.

2.	Click the Response tab, then select the Perpetual setting.

3.	Select the Erase and Branching options you want.

Target area response properties

Perpetuals and Return branching


Limiting when a target area is active

Inactive buttons, menu items, and other response types

1.	Double-click the target area symbol.

2.	Click the Response tab.

3.	In the Active If field, type the variable or expression that defines when the target area should be active.


Setting up a safety net

Target area safety nets

1.	In the Design window, drag an icon to the right of the last target area symbol you set up.

2.	Give the icon a title, such as Safety Net.

3	Run the piece.

4.	When the Target Area Properties dialog box appears, select Accept Any Object on the Target Area tab.

Accept Any Object treats any object a user drags to a target as a match.

5.	Select Put Back as the On Drop setting.

Put Back tells Authorware to return the object to its original position.

6.	Resize the dotted rectangle so it covers the entire Presentation window. Click OK.

7.	Set up an appropriate result icon for the safety net.


Freezing an object you've made movable

Why freeze an object?

1.	Go to the icon that's the correct response for the interaction that involves the object.

2.	If the result icon is a calculation icon, open it. If it's some other type of icon, select it and then choose Modify > Icon > Calculation.

3.	In the calculation window, type:

Movable@"IconTitle" := FALSE

In place of IconTitle, type the title of the display icon that contains the object you want to freeze.

4.	Close the calculation window.


Resetting the variable Movable

Why reset the variable Movable?

1.	In the Design window, select the display icon that contains the graphic you want to make movable.

2.	Choose Modify > Icon > Calculation.

3.	In the calculation window, type:

Movable := TRUE

4.	Close the calculation window.


Setting boundaries for an object that's movable

Why set boundaries for a movable object?

1.	Select the display icon that contains the object.

2.	Choose Modify > Icon > Properties, then click the Layout tab in the dialog box.

3.	Limit the object to an area.

Limiting a movable object to an area

4.	Define the boundaries of the area.

Defining an area for a movable object

5.	Click the Initial button, then drag the object to its initial position on the Presentation window and click OK.


Limiting a movable object to an area

1.	Choose In Area as the Positioning setting.

2.	Choose In Area as the Movable setting.


Defining an area for a movable object

1.	Click the Base button, then drag the object to the spot that marks the upper left corner of the boundary area.

2.	Click the End button, then drag the object to the spot that marks the lower right corner of the boundary area.


Limiting the number of tries

More than one chance

1.	Set up the right and wrong answers.

Setting up answers in a tries limit interaction

2.	Add the tries limit symbol to the interaction.

Adding a tries limit symbol to an interaction

3.	Position the tries limit symbol.

The position of a tries limit symbol

4.	Set the number of tries.

Setting the number of tries

5.	Set up the result icon.

Changing the result icon

Setting up icons

Show Me: Q_Tries


Tip-Marking a response right or wrong quickly

Control-click to the left of the result icon's title to mark a response right or wrong. A right answer is marked with a plus sign (+), a wrong answer with a minus sign (-).


Tip-Changing branching quickly

Control-click just above or below the result icon to change branching.


The position of a tries limit symbol

The position of the tries limit response type symbol on the interaction flowline determines the feedback connected to the tries symbol and other symbols.

For example, to display the feedback connected to a wrong answer and then the feedback connected to the tries limit symbol, position the tries limit symbol to the right of the other symbols, like this:

If you want the feedback connected to the tries limit symbol to replace the feedback for the wrong answer, position the tries limit symbol to the left of the other symbols, like this:


Setting up answers in a tries limit interaction

First see Limiting the number of tries.

1.	Drag an interaction icon to the flowline and title it.

Adding text or graphics to an interaction icon

Setting interaction icon properties

2.	Set up a response type symbol and a result icon for each answer.

Creating interactions

3.	Double-click each response symbol, click the Response tab, and check an Erase option.

4.	Mark each response right or wrong.

Marking a response right or wrong

Tip-Marking a response right or wrong quickly

5.	Select Try Again branching for each wrong answer.

Tip-Changing branching quickly


Adding a tries limit symbol to an interaction

First see Limiting the number of tries.

1.	Drag a result icon to the right of the interaction icon.

Tries limit symbols-the result icon

2.	Double-click the symbol that appears above the result icon.

3.	Select Tries Limit in the dialog box and click OK.

4.	Give the symbol a title that describes what it does.

Tip-Setting up several tries limit symbols


Tries limit symbols-the result icon

An icon attached to an interaction icon is called a result icon. The result icon determines what happens when a user reaches the number of tries you set. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any icon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Tip-Setting up several tries limit symbols

Repeat the preceding steps for each tries limit symbol you're setting up before you set the number of tries for the first one, or set the number of tries for the first one and then create the other symbols.


Setting the number of tries

First see Limiting the number of tries.

1.	Double-click the tries limit symbol.

2.	In the Maximum field on the Tries Limit tab, type the number of tries you want to give a user.

The feedback attached to the tries limit symbol appears when the number of tries a user has made matches the number you enter in the Maximum Tries field.

3.	Click the Response tab, and select the Erase and Branch options. Click OK.

Tip-Tries limit properties

Response tab


Tip-Tries limit properties

Authorware automatically gives a tries limit symbol the same characteristics (such as the same Erase, Status, and Branch options) as the last tries limit symbol you set up in the interaction.


Putting a time limit on an interaction

Time limit interactions

1.	Drag an interaction icon to the flowline and title it.

Adding text or graphics to an interaction icon

Setting interaction icon properties

2.	Set up a response type symbol and a result icon for each answer.

Creating interactions

3.	Add the time limit symbol to the interaction.

Adding a time limit symbol to an interaction

4.	Set the time limit.

Setting a time limit

5.	Set up the result icon.

Changing the result icon

Setting up icons

Show Me: Q_Tries


Adding a time limit symbol to an interaction

First see Putting a time limit on an interaction.1.	Drag a result icon to the right of the interaction icon.

Time limit symbols-the result icon

2.	Double-click the symbol that appears above the result icon.

3.	Select Time Limit in the dialog box and click OK.

4.	Give the symbol a title that describes what it does.


Time limit symbols-the result icon

An icon you attach to an interaction icon is called a result icon. The result icon determines what happens when a user reaches the time limit you set. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any icon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Setting a time limit

First see Putting a time limit on an interaction.1.	Double-click the time limit symbol.

2.	In the Time Limit field on the Time Limit tab, type the number of seconds you want to give a user.

Tip-Time limits and perpetuals

3.	Click the Response tab, and select the Erase and Branch options. Click OK.

Tip-Time limit properties

Response tab


Tip-Time limits and perpetuals

If a user can interrupt the timer by clicking a help button, choosing an item from a menu, or triggering some other perpetual response, select an Interruption setting. See Time limit response properties.


Tip-Time limit properties

Authorware automatically gives a time limit symbol the same characteristics (such as the same Erase, Status, and Branch options) as the last time limit symbol you set up in the interaction.


Displaying a countdown clock

1.	Double-click the time limit symbol.

2.	Select Show Time Remaining on the Time Limit tab.


Restarting the time limit

1.	Double-click the time limit symbol.

2.	Select Restart for Each Try on the Time Limit tab.


Limiting when a time limit is active

Inactive buttons, menu items, and other response types

1.	Double-click the time limit type symbol.

2.	Click the Response tab.

3.	In the Active If field, type the variable or expression that defines when the time limit should be active.


Reacting to special conditions

To react to special circumstances, first set up the direct response parts of the interaction, such as buttons and text-entry fields. Then set up a conditional response type symbol.

Conditional interactions

1.	Drag an interaction icon to the flowline and title it.

Adding text or graphics to an interaction icon

Setting interaction icon properties

2.	Set up a response type symbol and result icon for each direct response option.

Direct response options

Tip-Selecting a Branch setting

3.	Add a conditional symbol to the interaction.

Adding a conditional symbol to an interaction

4.	Position the symbol.

A conditional symbol's position

5.	Define the target condition.

Defining a target condition

6.	Set up the result icon.

Changing the result icon

Setting up icons

Show Me: Judge


Setting up a conditional response that's always available

Perpetuals-interactions that are always active

1.	Double-click the conditional response type symbol.

2.	Click the Response tab, then select the Perpetual setting.

3.	Select the Erase and Branching options you want.

Conditional response properties

Perpetuals and Return branching

4.	Click OK.


Direct response options

Setting up a button

Setting up a pull-down menu

Setting up a hot spot

Setting up a hot object

Waiting for a keypress

Setting up a text-entry field

Letting users drag an object to target

Setting up an event response


Tip-Selecting a Branch setting

Make sure you select an appropriate branching option. For example, if you set up a text-entry symbol with Try Again branching and follow it with a conditional symbol, the response a user enters will never reach the conditional symbol:

[bmc Conditional placement.bmp}

See Response tab.


A conditional symbol's position

The place where you position the conditional symbol on the interaction flowline has an important effect on how the symbol works.

For example, if you set up a text-entry symbol with Try Again branching and follow it with a conditional symbol, the response a user enters will never reach the conditional symbol:

One way to solve that problem is to change the text-entry symbol's branching option to Continue:

Another way is to place the conditional symbols to the left of the text-entry symbol:

The position of the conditional symbol is also affected by the symbol's Automatic setting. See Conditional response properties.


Adding a conditional symbol to an interaction

First see Reacting to special conditions.

1.	Drag a result icon to the right of the interaction icon.

Conditional symbols-the result icon

2.	Double-click the symbol that appears above the result icon.

3.	Select Conditional in the dialog box and click OK.

Tip-Setting up several conditional symbols


Conditional symbols-the result icon

An icon attached to an interaction icon is called a result icon. The result icon determines what happens when the target condition happens. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any icon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Tip-Setting up several conditional symbols

Repeat the preceding steps for each conditional symbol you're setting up before setting the target condition for the first one, or set the target condition for the first one and then set up the other conditional symbols.


Defining a target condition

First see Reacting to special conditions.

1.	Double-click the conditional symbol.

2.	In the Condition field on the Conditional tab, type the target condition you want the symbol to react to.

Target condition examples

3.	Select an Automatic setting.

Conditional response properties.

4.	Click the Response tab, and select the Erase and Branch options. Click OK.

Tip-Conditional response properties

Response tab


Target condition examples

As the examples in the following table show, any variable or expression is valid as long as it can be either true or false:

Examples
Correct	Incorrect
AllCorrectMatched This is a logical variable, so its value is either true or false.	AllCorrectMatched=true This expression works, but it's never necessary. Its value is always the same as AllCorrectMatched by itself.
AllCorrectMatched=false This expression is valid because it can be either true or false.
FirstTryCorrect<10 This expression is valid because it can be either true or false.	FirstTryCorrect This is a numerical variable, not a logical one, so it can't be either true or false.
	FirstTryCorrect:=10 This expression assigns the variable a value of 10. It's an instruction to Authorware, not an expression to be evaluated as true or false.
WordClicked="dollars" This expression is valid because it can be either true or false.	WordClicked This is a character variable, not a logical one, so it can't be either true or false.
	WordClicked=dollars This is a character variable, so the text to the right of the equal sign needs to be enclosed in quotation marks.


Tip-Conditional response properties

Authorware automatically gives a conditional symbol the same characteristics (such as the same Erase, Status, and Branch options) as the last conditional symbol you set up in the interaction.


Handling a correct answer with several parts

Correct answers with several parts

1.	Set up the interaction.

Creating interactions

2.	Mark each right answer correct.

Marking a response right or wrong

Tip-Marking a response right or wrong quickly

3.	Select Continue branching for each right answer.

Tip-Changing branching quickly

4.	Place a conditional symbol to the right of the other symbols.

The result icon for AllCorrectMatched

Adding a conditional symbol to an interaction

5.	Define the target condition.

Defining AllCorrectMatched as the target condition

6.	Set up the result icon.

Changing the result icon

Setting up icons


The result icon for AllCorrectMatched

An icon attached to an interaction icon is called a result icon. The result icon determines what happens when a user gets all the correct answers. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any icon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Defining AllCorrectMatched as the target condition

First see Handling a correct answer with several parts.

1.	Double-click the conditional symbol.

2.	In the Condition field on the Conditional tab, type:

AllCorrectMatched

3.	Select an Automatic setting.

Conditional response properties

4.	Click the Response tab, and select the Erase and Branch options. Click OK.


Turning off a perpetual

_	Set up an erase icon to erase the perpetual interaction.

Erase icon


Turning off a hot spot perpetual

You can't use an erase icon to turn off a perpetual hot spot because the hot spot isn't a graphic.

_	Set an appropriate condition in the Active If field in the hot spot's properties dialog box.

Response tab


Making a perpetual inactive

_	Set an appropriate condition in the Active If field in the response properties dialog box.

Response tab


Setting up automatic erasing

Automatic erasing

Erasing the content of an interaction icon

Erasing the content of a result icon

Preventing result icon content from being erased

Preventing interaction icon content from being erased


Erasing the content of an interaction icon

1.	Control-double-click the interaction icon.

2.	Select an Erase option on the Interaction tab.

Interaction icon properties

You can also add a transitional effect when Authorware erases the contents of the interaction icon. See Choosing a transition.


Erasing the content of a result icon

1.	Double-click the response type symbol above the icon.

2.	Click the Response tab, and select an Erase option.

Response tab


Preventing result icon content from being erased

1. Place the text or graphics that you don't want erased in a display icon separate from the other icons in the result map icon.

2.	Control-double-click the display icon that contains the text or graphics.

3.	Select Prevent Automatic Erase on the Display tab.

When you prevent Authorware from automatic erasing text or graphics, the only way to erase the text or graphics is with an erase icon.


Preventing interaction icon content from being erased

1.	Control-double-click the interaction icon.

2.	Click the Display tab and select Prevent Automatic Erase.

When you prevent Authorware from automatically erasing text or graphics, the only way to erase the text or graphics is with an erase icon.


Events and senders-an overview

Sprite Xtras, scripting Xtras, and ActiveX controls can send events. An event is exactly what it sounds like: something that happens. Some events are the result of a user's action. For example the Microsoft Calendar ActiveX control tracks where a user clicks on the calendar and sends an event each time it happens. Other events are produced by a sprite, script, or control on its own. The Microsoft Web Browser control, for example, sends an event when it starts to download information from the web and another when the download is complete.

Sprites, scripts, or controls that produce events are called senders. You can use an event response type symbol to track a user's interaction with a sender and respond to it just as if the user were interacting with a button, hot spot, or text entry field you'd set up. You can aslo set up an interaction to to respond to events that a sender generates on its own.


Setting up an event response

Events and senders-overview

1.	Set up the Xtra that will send the event.

Using a sprite Xtra

Using an ActiveX control

Using a scripting Xtra

2.	Drag an interaction icon to the flowline and title it.

Adding text or graphics to an interaction icon

Setting interaction icon properties

3.	Drag an icon to the right of the interaction icon.

Xtra events-the result icon

4.	Select Event in the dialog box and click OK.

Displaying the Response Type dialog box

5.	Set up the events and click OK.

Responding to events

Show Me: ActiveX


Xtra events-the result icon

An icon attached to an interaction icon is called a result icon. The result icon determines what happens when an Xtra sends the event that you want to respond to. It's a good practice to use a map icon as the result icon because that makes it easy to make changes. You can use any icon as the result icon; you must, however, place interaction, framework, and decision icons inside a map icon.


Responding to events

First see Setting up an event response.

1.	Double-click the event response type symbol and click the Event tab in the dialog box.

2.	Select an event sender in the Sender list.

The Sender list displays objects that send events. If the object is created by a sprite Xtra, it appears in the Sender list as Icon Icon title. Icon title is the title of the sprite icon.

If the object is created by a scripting Xtra, it appears in the Sender list as XtraIcon title. Icon title is the title of the icon where the Xtra object is created.

-	Click a sender to highlight it and display the events that it sends.

-	Double-click a sender to select it. An x appears next to senders that are selected in the Sender list.

-	Alt-double-click in the Sender list to select all displayed senders.

-	Double-click a selected sender to deselect it. Deselecting an event sender automatically deselects all the events that it passes.

-	Alt-double-click in the Sender list to deselect all selected senders.

2.	Select an event in the Event Name list.

The Event Name list displays events that are sent by sprite and script Xtra objects. You can select any or all of the events that a sender passes.

-	Click an event to highlight it and display its description.

-	Double-click an event to select it. An x appears next to events that you've selected.

-	Alt-double-click in the Event Name list to select all displayed events.

-	Double-click a selected event to deselect it.

-	Alt-double-click in the Event Name list to deselect all selected events.

Note: Selecting an event automatically selects the event sender that passes it. Deselecting an event sender automatically deselects all the events that it passes.

3.	Set the other options in the response properties dialog box.

Event response properties dialog box

Show Me: ActiveX


Setting up an event response that's always available

Perpetuals-interactions that are always active

1.	Double-click the event response type symbol.

2.	Click the Response tab, then select the Perpetual setting.

3.	Select the Erase and Branching options you want.

Event response properties

Perpetuals and Return branching

4.	Click OK.


Limiting when an event response is active

Inactive buttons, menu items, and other response types

1.	Double-click the event response type symbol.

2.	Click the Response tab.

3.	In the Active If field, type the variable or expression that defines when you want the event response to be active.


Using libraries

Working with libraries

Creating, opening, saving, and closing a library

Selecting a library

Adding icons to a library

Working with library icons

Using an icon from a library

Deleting an icon from a library

Editing library icons

Cutting, copying, and pasting library icons

Working with links

Updating an icon linked to a library

Identifying links to library icons

Fixing broken links


Creating, opening, saving, and closing a library

Libraries-overview

To create a new library:

1.	Open a piece.

Opening a file

2.	Choose File > New > Library.

The open library appears along with the Design window. You can include icons in the library whenever the library is open.

To open a library:

1.	Choose File > Open > Library.

2.	Select a library file from the drop-down list.

Authorware for Windows library files have the extension A4L.

3.	Click Open.

To save a library:

1.	Select the library window.

2.	Choose File > Save.

To close a library

1.	Select the library window.

Selecting a library

2.	Click the windowÕs close box.


Selecting a library

Libraries-overview

•	Choose Window > Library, then choose the library you want.

The library's window becomes active and its icons are available to be linked by a piece.


Adding icons to a library

Libraries-overview

To add display, interaction, sound, digital movie, and calculation icons to a library, use one of the following methods.

•	Drag an icon from the icon palette to the library window.

An empty, untitled, and unlinked icon appears in the library window.

•	Drag an icon from the flowline to the library window.

The icon becomes part of the library. The contents reside in the library icon.

Authorware automatically replaces the icon you've dragged to the library with an icon linked to the library icon. The icon's title is italicized, and although you can reposition its content on the screen, you can no longer edit the contents from the flowline.

•	Use the Copy and Paste commands to copy an icon from the flowline.

The icon becomes part of the library without a link to the original icon on the flowline.

•	Drag an icon from another library.

The icon moves from one library to another, without leaving a copy in the original library. If the icon is attached, Authorware will ask you to fix or break existing links. If an icon already in the library has the same link name as the new icon, Authorware appends a number to the new icon's link name to make it unique.


Using an icon from a library

Libraries-overview

•	Drag the library icon onto the flowline.

The title of the icon on the flowline appears in italics. A link symbol appears next to the corresponding library icon.


Deleting an icon from a library

Libraries-overview

1.	Select the icon you want to delete.

2.	Choose Edit > Clear or press the Delete/Backspace key.

Before deleting an icon that is linked to the flowline, Authorware asks you to break the links or cancel. Click Continue to unlink the icon and delete it.


Editing library icons

Libraries-overview

Edit library icons the same way you edit icons on the flowline:

•	When you run a piece that contains icons linked to a library attached to empty library icons, Authorware opens the editing tools for the library icon so you can specify the contents. For example, if the icon is a sound icon, the Sound Icon Properties dialog box opens.

•	When you open a library icon by double-clicking, Authorware opens the editing tools for the icons.

When you open an icon linked to a library, the icon's title appears in braces. Options that affect the icon's content are dimmed.

Changes to library icons may or may not affect the icons linked to the library from the flowline:

•	Changes to content in a library icon automatically appear in icons linked to the library from a flowline. For example, when you add new graphics, alter a graphic, or reload a sound in a library icon, these changes appear in all the flowline icons linked to the library.

•	Changes that don't affect content don't automatically appear in icons linked to a library. Also, changes to a flowline icon linked to a library aren't made to its corresponding library icon.

For example, changing a graphic's onscreen position in a library icon does not change the icons linked to the library. Apply this type of change to icons linked to a library by updating them.


Cutting, copying, and pasting library icons

Cut, copy, and paste icons in the library window the same way you do in the Design window:

•	Cutting a library icon cuts only the icon and retains its links. Deleting a library icon breaks any links it has.

•	Copying a library icon copies only the icon and not any links. Copying doesn't change links in the original icon.

•	When you paste more than one icon into a library file, the icons are pasted individually. Icons linked to a library can't be pasted into a library.


Updating an icon linked to a library

Libraries-overview

•	Drag the icon you want to update from the flowline to the library icons it's linked to.

or

1.	Choose Xtras > Library Links.

The Show Library Links dialog box contains a list of all icons attached to each library icon.

2.	Select the icons you want to update.

Shift-click to select multiple icons.

3.	Click Update.

Authorware asks for confirmation that you want to update the selected icons.

4.	Click Update again.


Identifying links to library icons

Working with large libraries can pose problems of organization and identification. Authorware can help by locating which library icon an icon on the flowline is linked to, listing which icons in a library are linked to the current piece, and listing which links between the flowline and the library are broken or unbroken.

-	You can give a different title to an icon on the flowline and the library icon it is linked to. They are still linked and still share the same content.

-	When you cut, copy, or paste a linked icon, the icon retains its links. Icons that are linked to libraries can't be pasted into library windows.

Locating the library of a linked icon on the flowline

Listing a library's linked icons

Listing icons that have unbroken and broken links


Fixing broken links

Broken links-overview

1.	Drag the flowline icon on top of the library icon you want to link it to, or drag the library icon onto the flowline icon.

2.	Release the mouse button when the icon is highlighted.

The objects are linked and the broken link symbol disappears.


Locating the library of a linked icon on the flowline

1.	Select the icon on the flowline.

2.	Choose Modify > Icon > Library Links.

3.	Click Find Original.

The library window that contains the linked library icon comes to the front, with the linked icon selected.


Listing a library's linked icons

1.	Select an icon in the library window.

2.	Choose Modify > Icon > Library Links.

Authorware displays the list of icons in the flowline that are linked to the icon in the library.


Listing icons that have unbroken and broken links

•	Choose Xtras > Library Links.

Select Unbroken Links to list icons that are still linked.

Select Broken Links to list icons that have become unlinked.


Directing the flow

Giving users control

Setting up a paging structure

Setting up a navigation framework

Controlling the flow automatically

Setting up sequential branching

Setting up random branching

Setting up branching based on a variable or expression

Creating a subroutine


Setting up a paging structure

Paging structure-overview

1.	Drag a framework icon to the flowline and name it.

2.	Set up the pages.

Setting up pages one at a time

Importing text into a framework

Tip-Dragging and dropping media

3.	Reposition the navigation controls.

Repositioning the navigation controls

Show Me: NavPage and Paging


Setting up pages one at a time

First see Setting up a paging structure or Setting up a navigation framework.

1.	Drag an icon to the right of the framework icon.

2.	Give the icon a name.

Tip-Naming pages

3.	Set up the content of the icon.

Setting up icons

Tip-Setting up several pages


Tip-Naming pages

It's a good idea to give the new icon a name you haven't used for any other icon. When you're setting up a navigation link with the navigate icon or with hot text, it's much easier to find the icon you're looking for if they have different names.


Tip-Setting up several pages

You can repeat the preceding steps for each icon you're attaching before you add contents to the first icon, or you can add contents to the first icon and then attach the other icons.


Importing text into a framework

The easiest way to add pages to a framework is to import text from a text file you've saved in rich text format (RTF). Authorware automatically attaches one display icon to the framework for each page in the text file.

Importing text

1.	Drag a display icon to the right of the framework icon.

Tip-Dragging and dropping an RTF file

2.	Double-click the display icon to open it.

3.	Use the text tool to set the position and size of the text block that will appear on the first page.

Each block of text will be positioned and sized the same way on succeeding pages.

4.	Select an ink mode.

Setting display modes

5.	Choose File>Import, select the file, and click Import.

Select Link to File if you want to link to the file rather than import it.


Tip-Dragging and dropping an RTF file

If you want to use Authorware's default text import settings-the text block centered near the top of the screen and the opaque ink mode-drag the text file to the right of the framework icon.


Repositioning the navigation controls

1.	Run the piece from the beginning or from the start flag.

Start flag

Stop flag

2.	Pause the piece when the navigation controls appear.

Running and pausing a piece

3.	Select all the navigation controls and drag them wherever you want them.


Setting up page transitions

A page transition occurs whenever a user goes from one page to another.

1.	Select the framework icon and choose Modify > Icon > Transition.

2.	In the dialog box, click the button labeled "...".

3.	Select the transition you want to use.

Choosing a transition


Changing the page icon

If you haven't used a map icon as the page icon, and you find that you want to replace the icon you've used or that you want to add more icons to the page:

1.	Select the page icon and choose Edit > Group.

Authorware places the page icon inside a map icon.

2.	Open the map icon and make any changes you want inside it.


Preventing wrap-around paging

To prevent wrap-around paging, you need to make the Next button inactive when the last page is on the screen and the Previous button inactive when the first page is on the screen.

To make the Next button inactive:

1.	Open the framework window and double-click the response type symbol that represents the Next button.

2.	Click the Response tab, and in the Active If field type:

CurrentPageNum<>PageCount

CurrentPageNum is the number of the page that's currently on the screen (counting from left to right), <> means "is not equal to," and PageCount is the total number of pages attached to the current framework icon. As long as the number of the current page isn't equal to the total number of pages attached to the framework, the Next button remains active.

3.	Click OK.

To make the Previous button inactive:

•	Repeat the same three steps. In the Active If field for the Previous button, type:

CurrentPageNum<>1

As long as the number of the current page isn't equal to 1 (the first page attached to the framework), the Previous button remains active.


Setting up a navigation framework

Navigation-overview

1.	Drag a framework icon to the flowline and name it.

2.	Set up the entry and exit panes.

Setting up a framework's entry and exit panes

3.	Construct the content.

Setting up pages one at a time

Importing text into a framework

Tip-Dragging and dropping media

4.	Reposition the navigation controls.

Repositioning the navigation controls


Tip-Dragging and dropping media

You can import the contents of a file into a framework by dragging the file to the right of the framework icon. Authorware puts the content in the appropriate icon (for example, it puts a sound file in a sound icon) and attaches the icon to the framework. If you drag an RTF file with hard page breaks to the right of the framework file, Authorware inserts a display icon for each page break. If you drag several files of different types-sound, graphics, movies, text-Authorware puts each one in an appropriate icon and then attaches them to the framework.

To link to a file rather than import it, hold down Shift as you drag.


Setting up a framework's entry and exit panes

 First see Setting up a navigation framework.

1.	Double-click the framework icon.

See Framework icon

2.	In the entry pane, set up what you want to happen every time Authorware enters the framework.

3.	Set up the text or graphics that you want to appear on every page.

4.	Make whatever changes you want to the default navigation controls.

Adding or deleting a default navigation control

Changing a default navigation control

Creating custom navigation controls

Replacing the default navigation controls with a model

5.	In the exit pane, set up what you want to happen every time Authorware leaves the framework.

6.	Close the framework window.


Changing a default navigation control

•	Double-click the framework icon where the control is located.

Changing a navigation control's graphic or sound

Changing the way a navigation control behaves

Changing where a navigation control takes a user


Changing a navigation control's graphic or sound

1.	Double-click the control's response type symbol.

2.	Click Buttons.

3.	Select the button you want to change and click Edit.

4.	Select the button state you want to make the change to and import the new graphic or sound.

Editing a custom button


Changing the way a navigation control behaves

Assigning a shortcut key to a button

Making one button the default

Limiting when a button is active

Hiding or dimming an inactive button


Changing where a navigation control takes a user

1.	Double-click the navigate icon.

Navigate icon properties

2.	Select and set up a destination setting.

Going to the next, previous, first, or last page

Going to a specific page

Allowing users to backtrack

Allowing users to search for a topic

Allowing users to search for a page

Using an expression to go to a page


Default navigation controls

The default navigation controls are made up of a set of eight buttons and a panel behind them. If you want to add more buttons to the navigation controls or delete two or more of the default controls, you also need to change the size of the panel. If you want to delete just one of the default controls, the best approach is to make it inactive rather than removing it.

The panel behind the navigation controls is contained in a display icon in the framework window.


Adding or deleting a default navigation control

Default navigation controls

To change the size of the panel:

1.	Open the display icon containing the panel and use a screen capture application to make a copy of the panel image.

2.	Use an image editing application to edit the image.

3.	Import the edited image into the Gray Navigation Panel display icon and delete the original image.

To add a control:

•	See Setting up a button.

To delete a control:

•	Select the control in the framework window and delete it.

To make a control inactive:

•	Open the button's Properties dialog box, click the Response tab, and in the Active If field type:

False


Creating custom navigation controls

1.	Drag a framework icon to the flowline and double-click it.

2.	Select everything in the entry pane and press Backspace.

3.	Drag an interaction icon into the entry pane and name it.

4.	Drag a navigate icon to the right of the interaction icon.

5.	Select the response type you want to use for the control and click OK.

For details, see Creating interactions

6.	Double-click the navigate icon, then select and set up a destination setting.

Going to the next, previous, first, or last page

Going to a specific page

Allowing users to backtrack

Allowing users to search for a topic

Allowing users to search for a page

Using an expression to go to a page

7.	Repeat steps 4, 5, and 6 for each control you want to create.


Saving navigation controls as a model

If you plan to use the custom controls you create more than once, save them as a model. That makes them easy to paste into any framework icon where you want to use them. See Replacing the default navigation controls with a model

1.	Select the interaction icon and the icons attached to it.

2.	Choose Insert > Create Model.

3.	Type a short description of the model and click OK.

4.	Type a name for the model and click Save.


Replacing the default navigation controls with a model

1.	Choose Insert > Load Model.

2.	Select the model you want and click Load.

3.	Double-click the framework icon where you want to use the model.

4.	Select everything in the entry pane and press Backspace.

Eliminating the default navigation controls

5.	In the entry pane, click the flowline where you want the controls to appear.

6.	Choose the model from the Insert > Paste Models submenu.


Eliminating the default navigation controls

If you find yourself replacing the default navigation controls often, you may want to eliminate them entirely from the framework icon and create a set of models that contain the navigation controls you use most often. When you drag a new framework icon to the flowline, you can then paste into it the model containing the controls you want to use in the piece you're working on.

1.	Drag a framework icon to the flowline and double-click it.

Leave the framework icon untitled.

2.	Select everything in the entry pane and press Backspace.

3.	Close the framework window and select the framework icon.

4.	Choose Insert > Create Model.

5.	Type a short description of the model and click OK.

6.	For the name of the model, type framewrk.mod.

7.	Click Save.

Save the model in the same folder as Authorware.


Creating new default navigation controls

Default navigation controls model

1.	Create the new navigation controls.

Creating custom navigation controls

Tip-Renaming the old navigation controls model

2.	Select the interaction icon and the icons attached to it.

3.	Choose Insert > Create Model.

4.	Type a short description of the model and click OK.

5.	For the name of the model, type framewrk.mod.

6.	Click Save.

Save the model in the same folder as Authorware.


Tip-Renaming the old navigation controls model

Change the name of the original default navigation controls model so it isn't erased when you save the new default controls as a model.

1.	Go to the folder where the Authorware application is located.

2.	Change the name of the model. The original is named framewrk.mod.


Setting up a navigation link

Navigate icon properties

1.	Drag a navigate icon to the flowline or to the right of a decision or interaction icon.

2.	Double-click the navigate icon.

3.	Select and set up a destination setting.

Going to the next, previous, first, or last page

Going to a specific page

Allowing users to backtrack

Allowing users to search for a topic

Allowing users to search for a page

Using an expression to go to a page


Navigating with hot text

About hypertext

1.	Create a hot text style.

Creating a hot text style

2.	Double-click the icon containing the text you want to apply the style to.

3.	Select the text tool and then select the text.

4.	Choose Text > Apply Styles.

Applying text styles

5.	Click the hot-text style in the Styles palette.

The Navigate Icon Properties dialog box appears-unless you set up a destination for the style when you created it.

6.	Select and set up a destination setting.

Going to the next, previous, first, or last page

Going to a specific page

Allowing users to backtrack

Allowing users to search for a topic

Allowing users to search for a page

Using an expression to go to a page


Creating a hot text style

1.	Choose Text > Define Styles.

2.	Create a new style.

Defining text styles

3.	Under Interactivity, select the action that you want to trigger the hot text.

4.	Select Auto Highlight and Cursor settings.

5.	If you want all the text you apply the style to to have the same destination, select Navigate To, click the navigate icon, and select and set up a destination setting.

Going to the next, previous, first, or last page

Going to a specific page

Allowing users to backtrack

Allowing users to search for a topic

Allowing users to search for a page

Using an expression to go to a page

6.	Click OK.


Applying a hot text style

First see Creating a hot text style.

1.	Double-click the icon containing the text you want to apply the style to.

2.	Select the text tool and then select the text.

3.	Choose Text > Apply Styles.

Applying text styles

4.	Click the hot-text style in the Styles palette.

The Navigate Icon Properties dialog box appears-unless you set up a destination for the style when you created it.

5.	Select and set up a destination setting.

Going to the next, previous, first, or last page

Going to a specific page

Allowing users to backtrack

Allowing users to search for a topic

Allowing users to search for a page

Using an expression to go to a page


Going to the next, previous, first, or last page

First see Setting up a navigation link or Navigating with hot text.

1.	Double-click the navigate icon.

2.	Select Nearby as the Destination setting.

3.	Select a Page option.


Going to a specific page

First see Setting up a navigation link or Navigating with hot text.

Specific versus relative destinations

1.	Display the Navigate Icon Properties dialog box if it isn't open.

Displaying the Navigate Icon Properties dialog box

2.	Select Anywhere from the Destination options.

3.	Select either Jump to Page or Call and Return.

One-way trips and round trips

4.	From the Page pop-up, select the framework containing the page you want.

Tip-Finding the page you want

5.	Select the page you want to go to, then click OK.

6.	If you've selected Call and Return, set up the return control.

Going to a page and returning


Displaying the Navigate Icon Properties dialog box

•	Drag a navigate icon to the flowline or to the right of a decision or interaction icon and double-click it.

•	In the Define Styles dialog box, select Navigate To and click the navigate icon.

•	Select text and apply a hot text style from the Styles palette or the styles list on the toolbar.


Tip-Finding the page you want

Authorware lists the pages that are in the framework you select. If you're not sure which framework contains the page that you're looking for, select Entire File or search for the page:

1.	Select the Word or Keyword option, or both.

-	Word searches the text that appears in text objects. (Authorware searches only text in editable text objects; it won't search text that's part of a bitmapped image.)

-	Keyword searches the keywords you've assigned to the pages.

2.	In the text field, type the text you want to find.

3.	Click Find.


Going to a page and returning

The mechanics of a round trip

1.	Set up the navigation or hypertext link. Select the Call and Return option.

Setting up a navigation link

Navigating with hot text

2.	Double-click the framework icon that contains the destination page.

3.	Drag a navigate icon to the far right of the interaction icon.

Changing the response type symbol

4.	Select the response settings for the control.

Selecting the response settings

5.	Set up the return link.

Setting up a return link


Changing the response type symbol

When you release the navigate icon, Authorware automatically displays a response type symbol above it. By default, it uses the same response type symbol you last selected.

To change the response type symbol:

1.	Double-click the symbol.

2.	Select a response type from the Type pop-up.


Selecting the response settings

1.	Double-click the response type symbol.

2.	Give the control a name, such as Return.

3.	Click the Response tab and select Perpetual.

4.	Choose Return as the Branch option.

5.	Click OK.


Setting up a return link

1.	Double-click the navigate icon.

2.	Select Nearby as the Destination setting.

3.	Select Exit Framework/Return.

4.	Click OK.


Using an expression to go to a page

First see Setting up a navigation link or Navigating with hot text.

Variables, expressions, and navigation

1.	Display the Navigate Icon Properties dialog box.

Displaying the Navigate Icon Properties dialog box

2.	Select Calculate as the Destination setting.

3.	In the Icon Expression field, type the variable or expression you want to use.

Remember that the variable or expression must provide Authorware with the icon ID of the destination page. If you know the title of the destination page, you can use the expression IconID@"page title" (replace "page title" with the title of the destination page enclosed in quotes.)

Referring to a variable's value at a specific icon

4.	Select either Jump to Page or Call and Return and then click OK

One-way trips and round trips

5.	If you've selected Call and Return, set up the return control.

Going to a page and returning


Allowing users to search for a page

First see Setting up a navigation link or Navigating with hot text.

The Search navigation link

1.	Display the Navigate Icon Properties dialog box.

Displaying the Navigate Icon Properties dialog box

2.	Select Search as the Destination setting.

Tip-Creating a list of words to ignore

3.	Select the options you want to use.

Search destination options

4.	Select either Jump to Page or Call and Return and then click OK

One-way trips and round trips

5.	Set up the Find dialog box.

Setting up the Find dialog box

6.	If you've selected Call and Return, set up the return control.

Going to a page and returning


Tip-Creating a list of words to ignore

You can make a search more efficient by creating a list of the words you want Authorware to skip when it's searching for matches:

1.	Use a word processor to compile the list of words you want Authorware to ignore. List each word on a separate line.

2.	Save the list in text (ASCII) format.

3.	Choose Modify > File > Navigation Setup.

4.	Click Words to Ignore and load the list.


Setting up the Find dialog box

First see Allowing users to search for a topic.

1.	Choose Modify > File > Navigation Setup.

2.	Verify the information in the Navigate Icons Set To Search section.

Navigation Setup

3.	Select Highlight Found Words to highlight the words Authorware finds. Choose a highlight color from the color chip.

4.	Click OK.


Allowing users to search for a topic

First see Setting up a navigation link or Navigating with hot text.

You can provide users with a list of pages focused on a specific topic. What makes this approach work is that you use a topic both as the keyword you assign to the pages where the topic appears and as the Pre-Set Text in the Word field of the Find dialog box.

1.	Tag each page with the keyword for the topic it contains.

Assigning a keyword to a page

2.	Select a term that you want to link to other pages that deal with the same topic. Assign a hot-text style to the term.

3.	Set up the Search destination type:

-	Type the keyword you've used for the topic in the Pre-Set Text field. Enclose it in quotation marks.

-	Limit the search to keywords.

-	Select Search Immediately.

For information about setting up the Search destination type, see Allowing users to search for a page


Assigning a keyword to a page

Keywords and multimedia

1.	Select the icon you want to assign a keyword to.

2.	Choose Modify > Icon > Keywords.

3.	Type the keyword in the Keyword field and click Add.

A keyword must be a single word without any spaces or punctuation.

Tip-Assigning keywords to several pages


Tip-Assigning keywords to several pages

When you've finished assigning keywords to one icon, you can switch to a different icon without closing the Keywords dialog box.

1.	Select the icon you want from the list on the right.

2.	Click Edit Keywords.

The icon's keywords appear in the list on the left.


Copying keywords from one icon to another

1.	Select the icon you want to copy the keywords to and then choose Modify > Icon > Keywords.

2.	From the list on the right, select the icon you want to copy keywords from.

Finding the icon you want to copy from

3.	Select the keywords that you want to copy.

If you want to copy all the keywords that are listed, click Select All.

4.	Click Copy.


Finding the icon you want to copy from

The Icon Type pop-up controls which icons are listed:

•	Entire File lists all the icons in the file.

•	Each icon type lists only the icons of the type you select.

Once you've selected an icon, the keywords you've assigned to it appear in the list under Keywords in the middle of the dialog box.

If you select a map, decision, framework, or interaction icon, choose Keywords Within Nested Icons to display the keywords assigned to any icon inside of or attached to the icon.


Editing a keyword

1.	Select the icon you've assigned the keyword to, then choose Modify > Icon > Keywords.

2.	Select the keyword you want to edit from the field on the left.

3.	Make the changes you want in the Keyword field, then click Modify.


Removing a keyword

1.	Select the icon you've assigned the keyword to, then choose Modify > Icon > Keywords.

2.	Select the keyword you want to delete from the field on the left.

3.	Click Remove.


Allowing users to backtrack

First see Setting up a navigation link or Navigating with hot text.

Backtracking

1.	Display the Navigate Icon Properties dialog box if it isn't open.

Displaying the Navigate Icon Properties dialog box

2.	Select Recent as the Destination setting.

3.	Select the option you want to use:

-	Go Back takes users back to the page they just came from.

-	List Recent Pages displays a list of the pages where users have been most recently. See Setting up the Recent Pages dialog box


Setting up the Recent Pages dialog box

First see Allowing users to backtrack.

1.	Choose Modify > File > Navigation Setup.

2.	Under Navigate Icons Set To Recent, type a title for the window and enter the maximum number of pages you want to list.

Closing the Recent Pages dialog box automatically

3.	Click OK.


Closing the Recent Pages dialog box automatically

If you want to close the Recent Pages dialog box automatically when a user selects a page from the list, select Close When Page Is Selected in the Navigation Setup dialog box.


Nesting navigation frameworks

Nested navigation frameworks

1.	Drag a framework icon to the flowline and name it.

2.	Double-click the framework icon.

3.	Set up the entry pane. Check the default navigation controls.

Setting up a framework's entry and exit panes

4.	Set up the exit pane.

5.	Close the framework window.

6.	Nest another framework inside the first.

Setting up one framework inside another


Setting up one framework inside another

First see Nesting navigation frameworks.

1.	Drag a map icon to the right of the framework icon.

2.	Open the map icon and drag a framework icon to the flowline inside it.

3.	Double-click the framework icon, set up the entry pane, and check the default navigation controls.

Setting up a framework's entry and exit panes

4.	Set up the exit pane and then close the framework window.

5.	Construct the content of the framework.


Setting up a router

This procedure shows how to set up a router using an interaction icon. You can follow the same basic steps if you want to use a decision icon.

Routers

1.	Set up an interaction icon.

Creating interactions

2.	For each file you want to launch, attach a calculation icon to the interaction icon.

3.	Set up the response type symbol for each calculation icon.

4.	Open the calculation icon attached to each response type symbol and set up a JumpFile or JumpFileReturn function in each one.

JumpFile

JumpFileReturn


Setting up sequential branching

Sequential branching

1.	Drag a decision icon to the flowline and name it.

2.	Double-click the decision icon.

3.	Select Sequentially as the Branching setting.

4.	Select the other options you want to use.

Decision icon properties

5.	Click OK.

6.	Set up the decision paths.

Setting up a decision path


Setting up a decision path

First see Setting up sequential branching, Setting up random branching, or Setting up branching based on a variable or expression.

1.	Drag an icon to the right of the decision icon.

The icon you use determines what happens when Authorware follows the first path.

Changing the path icon

2.	Double-click the decision path symbol and select the settings you want to use.

Decision path properties

3.	Click OK to close the dialog box or click Open to close the dialog box and open the path icon.

Tip-Setting up several decision paths


Tip-Setting up several decision paths

You can repeat the preceding steps for each path you're creating before you set up the first path icon, or you can set up the first path icon map and then create the other paths.


Changing the path icon

If you haven't used a map icon as the path icon and you find that you want to replace the icon you've used or that you want to add more icons to the decision path:

1.	Select the path icon and choose Edit > Group.

Authorware places the path icon inside a map icon.

2.	Open the map icon and make any changes you want inside it.

If you end up with only one icon inside the map icon:

3.	Select the map icon and choose Edit > Ungroup.

Authorware replaces the map icon with the icon that was inside it.


Setting up random branching

Random branching

1.	Drag a decision icon to the flowline and name it.

2.	Double-click the decision icon.

3.	Select the Branching setting you want to use:

-	Randomly to Any Path chooses from any of the paths whether the path has already been used or not.

-	Randomly to Unused Path chooses only from paths that haven't been used yet.

4.	Select the other options you want to use.

Decision icon properties

5.	Click OK.

6.	Set up the decision paths.

Setting up a decision path


Setting up branching based on a variable or expression

Branching based on a variable or expression.

1.	Drag a decision icon to the flowline and name it.

2.	Double-click the decision icon.

3.	Select To Calculated Path as the Branching setting.

4.	In the field below To Calculated Path, type the variable or expression you want to use to determine the path.

5.	Select the other options you want to use, and click OK.

Decision icon properties

6.	Set up the decision paths.

Setting up a decision path


Creating a subroutine

Subroutines

1.	Set up a framework icon.

Setting up a navigation framework

Tip-Be sure to delete the default navigation controls if you don't need them.

2.	Attach the appropriate icon to the framework and create the subroutine.

3.	Make sure the navigation link that exits the subroutine is set to Exit Framework/Return.

4.	Set up the navigation link to the subroutine.

Setting up a navigation link to a subroutine


Setting up a navigation link to a subroutine

1.	Create the navigation link.

Setting up a navigation link

Navigating with hot text

2.	Select Anywhere as the Destination setting of the navigate icon or hot text.

3.	Select Call and Return.

4.	Select the page that contains the subroutine.


Reusing logic

Models-overview

Creating a model

Loading a model

Unloading a model

Pasting a model


Models-overview

A model is a flowline segment-a module of one or more icons with their connecting flowline intact. Models provide ready-made content and icon structure and store single icons that can't be stored in libraries.

You paste models into the piece you are creating, similar to the way you use the Copy and Paste commands to copy and paste icons. After pasting a model, you can edit it within the piece to suit individual circumstances. If a model contains icons linked to a library, the library is added to the piece as well.

When you paste a model, you paste a copy of the model's content. When you edit a model's content, the original model remains unchanged and available to be pasted into other locations.

Models are easy to create and use. You can turn any sequence of icons you've already created into a model or you can create a new sequence of icons for the specific purpose of turning it into a model. Once you've created a model and loaded it into Authorware, it's available for you to use in any piece you're working on.

Models provide a great way to standardize elements such as buttons and text styles in related pieces or to share standard components among the members of a development team.

For example, if you want to use the same set of buttons in more than one piece, create a dummy interaction that contains all the buttons, then turn it into a model. Paste the model into any piece where you want to use the buttons, save the piece, and delete the dummy interaction. The buttons remain available in the button library.

If you want to share buttons, cursors and text styles among the members of a development team, follow a similar process: create a dummy interaction with the buttons and use all the text styles in a display icon. Save both as a model and distribute the model to everyone on the team. Any team member can then paste the model into a piece, save it, and then delete the dummy interaction and the display icon. Buttons and cursors will remain in their windows and the text styles will appear in the Define Styles dialog box.


Creating a model

Models-overview

1.	Select the segment of icons you want to use as a model.

2.	Choose Insert > Create Model.

3.	Enter a descriptive name for the model in the text field, then click OK.

4.	Select a folder, then name the file in the File name field.

Note: The file name doesn't need to be the same as the model's descriptive name. When they are different, the descriptive name appears in the Paste Model submenu and the file name appears in the Windows File Manager.

5.	Click Save.

The model is now saved as a separate file with the A4D extension. When you create a model, Authorware loads it into the current piece and makes it available for pasting.


Loading a model

Models-overview

1.	Choose Insert > Load Model.

2.	Select a model file and click Open.

The model is included in the Paste Models submenu and is available to be pasted.


Unloading a model

1.	Choose Insert > Unload Model.

2.	Select a model from the list and click Unload.


Pasting a model

Models-overview

1.	Place the Paste Hand where you want to insert the model.

2.	Choose Insert > Paste Models, then choose the model you want to paste.

Note: The model's name might be different from the model's file name.

Authorware inserts the model on the flowline. After it is pasted, you can edit the model's icons the same as you would any other icon.


Tracking and recording performance

Marking a response right or wrong

Tracking performance

Variables used for scoring and recording

Displaying a user's score

Recording information a user enters

Retrieving information and displaying it


Marking a response right or wrong

Judging interactions-overview

1.	Set up the interaction that contains the response if you haven't already done so.

Creating interactions

2.	Double-click the response type symbol to open the Response Properties dialog box.

3.	Click the Response tab in the dialog box.

4.	Select the desired Status option and click OK.

Tip: You can also set or change the Status option for a target response by Ctrl-clicking to the left of the result icon's title where the Response Tracking symbol appears.


Tracking performance

Authorware tracks a wide range of information about a user's performance automatically.

Tracking a user's response time

Tracking the time spent in an interaction

Tracking the time spent in a section

Tracking the time remaining

Tracking the number of tries made

Tracking the choices a user makes

Identifying the objects a user clicks, moves, or matches

Identifying the word or line a user clicks


Tracking a user's response time

You can use the system variable ResponseTime to track the length of time it took a user to respond to an interaction.

For the user's first response, the time is measured from when the interaction was entered; if the user already responded to the interaction, the time is measured from when the previous response was made. This value is set to zero each time the user responds.


Tracking the time spent in an interaction

You can use the system variable TimeInInteraction to track the total time a user spends in an interaction. The variable measures the time from the moment Authorware enters the interaction until the moment it exits the interaction.


Tracking the time spent in a section

You can use the system variable SystemSeconds to calculate how long a user has spent in a section of a course. SystemSeconds contains the number of seconds that have elapsed since a user turned on or restarted the computer. If you use a custom variable to record the value of SystemSeconds at the beginning of the section, you can subtract that value from the value of SystemSeconds at the end of the section to figure out how long the user has spent in the section.


Tracking the time remaining

You can use the system variable TimeRemaining to keep track of how much time is left in an interaction where you've set a time limit.


Tracking the number of tries made

You can use the system variable Tries to keep track of the number of times a user has responded to a particular interaction. You might set up feedback that gets more helpful as the value gets bigger.


Tracking the choices a user makes

You can use the system variable ChoicesMatched to keep track of how many different responses a user has tried in an interaction. Use this technique to diagnose how well a user knows the material, and to tailor feedback to a user who's having particular trouble with a question.


Identifying the objects a user clicks, moves, or matches

There are several system variables that keep track of objects that a user has interacted with:

ObjectClicked

LastObjectClicked

ObjectMatched

ObjectMoved


Identifying the word or line a user clicks

You can keep track of text a user has clicked with the following system variables.

LineClicked

LastLineClicked

WordClicked

LastWordClicked

When a user clicks a line in a list or a block of text, LineClicked and LastLineClicked contain the number that corresponds to the line's position in the list or text block. (LineClicked contains the number until the user clicks anywhere else in the Presentation window; LastLineClicked contains the number until the user clicks another line.)

When a user clicks a word that's part of a text object, Authorware puts the word in WordClicked and LastWordClicked. (WordClicked contains the word until the user clicks anything else in the Presentation window; LastWordClicked contains the word until the user clicks another text object.)

Note: The system variable HotTextClicked also lets you identify a word that a user clicked. It's designed to work with words you've set up as hypertext links.


Variables used for scoring and recording

AllCorrectMatched

ChoiceNumber

ChoicesMatched

CorrectChoicesMatched

WrongChoicesMatched

FirstTryCorrect

FirstTryWrong

JudgedInteractions

JudgedResponses

MatchedEver

MatchedIconTitle

PercentCorrect

PercentWrong

PreviousMatch@IconTitle

ResponseStatus

TimesMatched

TotalCorrect

TotalWrong


Displaying a user's score

Providing feedback is an important part of creating an effective course because it lets students track their own performance and see their strengths and weaknesses. Getting a summary of their performance is also helpful in preparing students for those sections of the course that depend on how they did in previous sections. For example, knowing that they did very well in one segment prepares and motivates students for working with additional information.

1.	Create a text object to identify the user's score.

Working with text

2.	Paste the variables that contain the information you want to display.

Displaying variable information on the screen

Displaying a student's score on the screen is the simple process of displaying the value of any of the following system variables that Authorware automatically uses to track a student's performance:

PercentCorrect, PercentWrong

TotalCorrect, TotalWrong

FirstTryCorrect, FirstTryWrong

JudgedInteractions

JudgedResponses

3.	Run the piece to see if the information appears as you planned.


Using FileLocation and RecordsLocation

To save information in a file, you have to set the file's path name. The path name identifies where the file is located-the disk it's on, the folder it's inside, and so on. The system variables FileLocation and RecordsLocation provide an easy way to set path names. The variables keep track of where the records and file folders are located. Using either variable eliminates the need to know anything more than where inside the records or file folder you want to save a file.


Recording information a user enters

Recording performance-overview

Whenever a user enters something in a text-entry field, Authorware stores the information automatically. It stores text in the system variable EntryText and numerical values in the system variables NumEntry, NumEntry2, and NumEntry3.

Because Authorware automatically stores whatever information users enter, it also automatically overwrites the information that's currently stored as soon as they enter new information. For example, suppose you ask a student to enter her name and then her password. When she enters her name, Authorware stores it in EntryText. Then, as soon as she enters her password, Authorware stores it in EntryText, overwriting her name. If you want to use the student's name elsewhere in the piece, you need to transfer it to a different variable before she enters her password.

The following procedures describe how to transfer information from EntryText and NumEntry to a custom variable where the information won't be overwritten and how to save information in an external file.

Storing text and values

Saving user information

Saving multiple variables


Storing text and values

First see Recording information a user enters.

1.	Set up a text entry interaction. Use a calculation icon as the result icon.

To attach more than one icon to the response symbol, use a map icon as the result icon and put the calculation icon inside it.

Setting up a text-entry field

Changing the result icon

2.	Double-click the calculation icon to open it.

3.	Type the name of the custom variable where you want to store the information, followed by the assignment operator (:=).

For example, to store the text in a custom variable named Password, type

Password:=

Creating a variable

4.	Type EntryText or NumEntry following the assignment operator.

The expression would look like this:

Password:=EntryText

5.	Close the calculation window by pressing Enter on the keypad.

6.	Fill in the fields in the New Variable dialog box and then click OK.


Saving user information

Saving user information-overview

1.	Set up a text entry interaction.

Setting up a text-entry field

2.	Drag a calculation icon to the flowline and place it after the interaction icon where user enters the information you want to save.

3.	Double-click the calculation icon to open it.

Tip-You can also attach the calculation icon directly to the text entry response symbol that makes it possible for users to enter information.

Note: If you intend to transfer the information directly from the system variable EntryText, make sure that users have no opportunity to enter new information before you save the information currently in the variable.

4.	Use the WriteExtFile function icon to save the information to a text file on the user's disk.

Setting up WriteExtFile


Setting up  WriteExtFile

1.	Paste the function WriteExtFile in the calculation window.

Pasting WriteExtFile in a calculation window

2.	Set the path using the variable RecordsLocation.

Setting the path for saving files

3.	Name the file where you want to save the information.

Setting the file name for saved files

4.	Immediately following the name of the file, type a comma and then insert the name of the variable that contains the information you want to save.

Saving a variable to a file

5.	Close the calculation window by pressing Enter on the keypad.


Pasting WriteExtFile in a calculation window

First see Setting up WriteExtFile.

1.	Choose Window > Functions and select File from the Category option and then select WriteExtFile.

You can also use AppendExtFile to add information to an existing file without erasing the information that's already there.

2.	Click Paste to paste the function in the calculation window and then click Done.

The expression in the calculation window looks like this:

WriteExtFile("filename",string)


Setting the path for saving files

First see Setting up WriteExtFile.

1.	Select "filename" inside the parentheses following WriteExtFile.

Make sure you select the quotation marks.

2.	Choose Window > Variables.

3.	Select File from the Category option and then select FileLocation.

FileLocation contains the path to the folder where the Authorware file you're working on is located. If you'd rather save the information in Authorware's records folder, select RecordsLocation from the list in the dialog box.

4.	Click Paste.

Authorware replaces "filename" with FileLocation. The expression in the calculation window now looks like this:

WriteExtFile(FileLocation,string)


Setting the file name for saved files

First see Setting up WriteExtFile.

•	Immediately following FileLocation, type a variable or string that contains the name of the text file you want to create or append to.

Examples

Authorware automatically creates the file when it carries out the WriteExtFile function if the file doesn't already exist.

To save the information in a file that's named after the user (using the system variable UserName), type:

WriteExtFile(FileLocation^UserName^".txt",string)

To save the information in a file named "scores.txt", type:

WriteExtFile(FileLocation^"scores.txt",string)

The concatenation operator (^) joins what's before it with what's after it.

Note: You can use either backslashes or colons as path delimiters.


Saving a variable to a file

First see Setting up WriteExtFile.

1.	Select string and replace it with the name of the variable that contains the information you want to save.

For example, if the information is in the system variable EntryText, the expression would look like this:

WriteExtFile(FileLocation^UserName^".txt",EntryText)

2.	Close the calculation window by pressing Enter on the numeric keypad.


Saving multiple variables

1.	Drag a calculation icon to the flowline at the place where you want Authorware to save the information.

2.	Open the calculation icon.

3.	Type the name of the variable where you want to place the contents of the other variables and then type the assignment operator (:=).

For example, to place the contents of the variables that contain the information you want to save in a variable called Score Data, type:

Score Data:=

4.	Add the first variable to the expression.

After the assignment operator, type or paste the name of the first variable whose contents you want to place in the new variable.

For example, if JudgedResponses is the first variable whose contents you want to place in the new variable, the expression in the calculation window would look like this:

Score Data:=JudgedResponses

5.	Add the other variables.

Adding other variables

4.	Use the WriteExtFile function icon to save the information to a text file on the user's disk.

Setting up  WriteExtFile


Adding other variables

First see Saving multiple variables.

1.	After the first variable, type:

^Return^

2.	Type or paste the name of the next variable whose contents you want to place in the new variable.

For example, if JudgedInteractions is the next variable whose contents you want to place in the new variable, the expression in the calculation window would look like this:

Score Data:=JudgedResponses^Return^Â
JudgedInteractions

Notes:

-	When you add the information in a second variable to the expression, you need to add a Return between the two variables to keep the information they contain from being run together.

-	Add a continuation character (Â) at the end of the line whenever a statement wraps around to the next line.

3.	Repeat steps 1 and 2 for each variable you want to add.

To save all of the information shown on the following screen, the expression would look like this:

Score Data:=JudgedResponses^Return^Â
JudgedInteractions^Return^PercentCorrect^ReturnÂ
^FirstTryCorrect


Retrieving information and displaying it

Retrieving information-overview

1.	Save the contents of the external file into a holding variable.

Retrieving information from an external file

2.	Copy individual items from the holding variable into separate variables.

Retrieving individual items of information

3.	Display the contents of the individual variables in the Presentation window.

Displaying variable information on the screen


Retrieving information from an external file

First see Retrieving individual items of information or Retrieving information and displaying it.

1.	Drag a calculation icon to the flowline and open the calculation window.

Make sure it's before the icon you're using to display the information you're retrieving.

2.	Type the name of the variable where you want to store the information that's in the file and then type the assignment operator (:=).

For example, to store the information in a variable called Old Score, type:

Old Score:=

3.	Use the ReadExtFile function to store the information from the entire file into the variable.

Setting up ReadExtFile

Show Me: Write


Setting up ReadExtFile

First see Retrieving information from an external file.

1.	Choose Window > Functions and select File from the Category option and then select ReadExtFile.

2.	Click Paste to paste the function in the calculation window.

For example, to store the information in a variable called Old Score, the expression in the calculation window looks like this:

Old Score:=ReadExtFile("filename")

3.	Replace "filename" with the path to the file that contains the information you want to retrieve, followed by the name of the file.

Note: Make sure you select the quotation marks.

For example, if you gave the file the user's name and saved it in the records folder, the expression looks like this:

Old Score:=ReadExtFile(RecordsLocation^"\\"^UserName^".txt")

UserName is a system variable that contains the current user's name. If you used it to create a file with information about the user's performance, then you can use it again to retrieve information from the file.


Retrieving individual items of information

Retrieving information and displaying it.

1.	Create a holding variable to store the contents of the entire file.

Retrieving information from an external file

2.	Open the calculation icon and move the cursor to the next line in the calculation window.

3.	Type the name of the variable where you want to store the first item of information you've retrieved, followed by :=.

For example, to store the information in a variable called Old JudgedResponses, type:

Old JudgedResponses:=

4.	Use the GetLine function to retrieve individual lines from the holding variable in step 1.

Setting up GetLine


Setting up GetLine

First see Retrieving individual items of information.

1.	Choose Window > Functions and select Character from the Category option and then select GetLine.

2.	Click Paste to paste the function after the text in the calculation window.

3.	Replace string with the name of a variable that contains the text you want to retrive.

The variable can be where you've stored all the information you've retrieved from an external file.

Retrieving information from an external file

4.	Inside the parentheses following GetLine:

-	Replace string with the name of the holding variable.

-	Replace n with the number of the line where the item of information that you want to retrieve is located.

-	Delete m,delim.

For example, to store individual items from a variable called Old Score:

Old JudgedResponses:=GetLine(Old Score,1)
Old JudgedInteractions:=GetLine(Old Score,2)
Old PercentCorrect:=GetLine(Old Score,3)
Old FirstTryCorrect:=GetLine(Old Score,4)

Note: To get a series of lines, you use n to identify the first line in the series and m to identify the last line; delim lets you identify a character other than Return as the end of a line.

5.	Close the calculation window by pressing Enter on the numeric keypad.


Using Shockwave

Creating an Authorware piece for the web

Shockwave map files

Shocked pieces and external files

Shockwave and security issues

Shockwave tips and tricks

Afterburner reference


Creating an Authorware piece for the web

Shocking an Authorware piece

Packaging a piece for Shockwave

Using Afterburner

Adding a shocked piece to a web page

Configuring your server


Shockwave map files

Editing a map file with the Afterburner editor

Adding a new line

Adding a new external content line

Editing external content lines

Editing library lines

Editing segment lines

Using multiple get and put entries

Combining Macintosh and Windows map files

Combining map files for different plug-in versions


Shocked pieces and external files

Preparing external Macintosh files for a shocked piece

Using Xtras in shocked pieces (Windows)

Using Xtras in shocked pieces (Macintosh)

Playing Director movies in shocked pieces

Using custom fonts in shocked pieces


Shockwave and security issues

Bypassing the security dialog box

Querying a network security variable


Shockwave tips and tricks

Configuring MIME types for a directory

Creating a shocked piece with Netscape's color palette

Working with non-Shockwave browsers


Shockwave reference

Afterburner

Map file format

External file options

Platform values

Authorware MIME type mappings


Shockwave basic concepts

Shockwave-overview

Downloading considerations

Shocked file names and capitalization

Map files-overview

External Macintosh files for a shocked piece

Macintosh and Windows map files

Web-related functions and variables

Functions, variables, and security features


Shockwave-overview

Shockwave allows you to create multimedia, graphics and audio that download fast over a network. Shockwave is available not only for Authorware but also for Macromedia Director and Macromedia FreeHand. What's more, shocked Director movies and shocked FreeHand graphics can be included in a shocked Authorware piece. The Shockwave plug-in allows Netscape Navigator, Internet Explorer, and other compatible browsers to play back shocked pieces. It's installed with Authorware and is available free to users from Macromedia's web site.

You use Afterburner (which comes with Authorware) to shock a packaged Authorware piece. Afterburner compresses the files and divides the piece into segments. Compression dramatically reduces file size and transmission time. When the piece runs, the segments are downloaded to the user's computer only as they're needed. This makes it possible to produce large applications-20 MB, 30 MB, and larger-that run efficiently, with hardly any wait for startup.

Using Shockwave, you can deliver full-fidelity, cross-platform interactive pieces. You can deliver interactive multimedia training anywhere in your company, tracking user information, offering online help, and exchanging information between users and the file server.

You can create a central library of interactive documents for use by employees-such things as job listings, benefits information, phone directories, and performance-support aids-that can be updated at any time.

You can use virtually all the features of Authorware 4. You can include text, graphics, audio, animations, and movies, as well as all response types, data tracking, and database management. You can embed your piece within a web page or have it take over the full screen. Your piece can retrieve information from the intranet and send information back to the server. You can jump to other URLs from your piece.

The main limitation on just about everything you do is the data transmission speed of the intranet that carries your piece. The slower the transmission speed, the less ambitious you can be with multimedia.


Shocking an Authorware piece

Shockwave-overview

A shocked Authorware piece looks and works exactly the same as it did before you converted it.

1.	Package the Authorware piece for Shockwave.

Packaging a piece for Shockwave

2.	Use Afterburner to shock the packaged piece.

Using Afterburner

3.	Use a text editor to add the shocked piece to a web page.

Adding a shocked piece to a web page

You can test the shocked piece by opening its HTML file with a Shockwave-capable browser. After testing the shocked piece on your computer, proceed with the next step.

4.	Copy the map and segment files to an HTTP server configured for shocked Authorware pieces.

If you use FTP to do this, be sure to transfer the files as binary files, not ASCII files.

Configuring your server

Note: If your server runs on UNIX, see Shocked file names and capitalization for additional information.


Packaging a piece for Shockwave

1.	Make sure the Authorware file and its library files have different names.

Map file names

2.	Choose File > Package.

3.	Select Without Runtime in the Package dialog box.

The Authorware plug-in serves as the runtime application for users.

4.	Select the other options you want, then click Save File(s) & Package.

Note: To take advantage of the cross platform Shockwave functionality as well as support package fonts internally on the Macintosh, package your piece without runtime on the Macintosh. Select the appropriate checkboxes such as Package Fonts Internally. Then shock the packaged piece using the Macintosh Afterburner to create an AAB file that contains font information. Windows Afterburner cannot create AAB files that contain font information, even if you start with a file you've packaged on the Macintosh. Inside the map file, set the AAB file's platform to mac so the Windows plug-in doesn't download the file.


Map file names

Afterburner creates separate map files for an Authorware file and its associated library files, but it gives both map files the extension AAM. If you name the Authorware file intro.a4p and its associated map file intro.a4l, Afterburner will name both map files intro.aam and will be able to save one map file only by overwriting the other. So name your files something like intro.a4p and l_intro.a4l.


What Afterburner does

Afterburner compresses and segments an Authorware piece, producing two types of files:

•	One or more segment files (extension AAS), each segment containing a compressed section of the piece

•	One map file (extension AAM), which contains information the Authorware plug-in needs to retrieve each segment and to retrieve external files used with your piece, such as movies and UCDs.

Afterburner also automatically adds entries to the map file for external content (such as Director movies) and external linked libraries referenced by the Authorware file.


Using Afterburner

What Afterburner does

Shocking an Authorware piece.

1.	Start Afterburner for Authorware.

2.	In the Select Package Source File dialog box, select the packaged file and click OK.

3.	In the Select Destination Map File dialog box, indicate where you want the map file to be placed. Authorware will place the segment files in the same location. Click OK.

Tip-selecting a destination

4.	In the Segment Settings dialog box, enter up to four characters as a prefix for the segments that Afterburner will produce.

Segment file names

5.	Enter a value for segment size and click OK.

The segment size value tells Afterburner the average file size to use for segments.

Segment size


Tip-Selecting a destination

Use an empty folder for the destination, and it will be easy later to upload the map and segment files as a group to the HTTP server.


Segment file names

Each segment will be named with the prefix followed by four digits that Afterburner assigns, starting with 0000. These digits are hexadecimal, so they may contain both letters and numbers.


Segment size

The default segment size is 16K, which is a good choice for many pieces.  After experimenting with the default, you may choose different values-from 4K to 500K-depending on the size of the piece and the transmission speed of your intranet.


Shocked file names and capitalization

For proper downloading of segments, the file names in the map file must match the file names on the HTTP server. For UNIX servers-which are case sensitive in handling file names-this means the capitalization of the file names on the server and map file must be identical. Afterburner creates the file names in all lowercase characters. Unfortunately, however, certain kinds of FTP client software can alter the case of file names during the upload process.

If you have a UNIX server, make sure you're using FTP client software that doesn't alter the capitalization of file names. If you find that the file names between the map file and the server have different capitalization-and you can't change your FTP client software-you'll need to either rename the files on the server or change the file names in the map file to match what's on the server. See Editing a map file with the Afterburner editor.


Editing a map file with the Afterburner editor

This section contains information you'll need only if you need to change the file names in a map file or if your Authorware piece uses transition Xtras, Director movies, or Windows DLLs.

Map files-overview

Map file format

Adding a new line

Adding a new external content line

Editing external content lines

Editing library lines

Editing segment lines


Map files-overview

Afterburner produces a map file (extension .AAM) that gives the Authorware plug-in the information it needs to retrieve the segments of a piece. A map file always contains the location of the piece and a list of the segments.  In addition, a map file may contain lists of library files and external files used with the piece. Afterburner has built-in map file editing capabilities, but because a map file is a text file, you can also edit it with a text editior after an Authorware piece has been placed on a server.

Of the eight types of lines in the map file, the type you're most likely to want to edit or add is the bin line for external content. You may also want to edit segment lines or library lines.

If you produce Macintosh and Windows versions of a piece, you can combine the Macintosh and Windows map files into a single file, which makes it simpler to run your piece on either platform.

If you're updating a shocked piece that was created using an earlier version of Authorware, there's another reason to edit the map file. You can combine the map file from the earlier version with that of the new version and keep both versions of the piece on the HTTP server. This makes it possible to run the version of your piece that is compatible with a specific version of the plug-in.


Combining map files for different plug-in versions

Map files-overview

1.	In Afterburner, open up the map files for each plug-in version.

2.	Copy the contents of each file and paste them in at the end of the combined file.

3.	Rename the combined file by choosing File > Save As.


Map file format

Editing a map file is relatively simple once you are familiar with the format. Once you process a piece in Afterburner, the map file opens automatically. You can also open a map file by choosing File > Open. A sample map file appears below:

[Image links to topics below]


The ver statement

The first line (ver .) indicates the version of the Authorware plug-in that the piece will run on. The plug-in will ignore map file entries for pieces that are shocked for an incompatible version. For example, the plug-in for Authorware versions earlier than 4.0 will ignore any map file entries below the following ver line:

ver 04

However, the plug-in will continue to scan the map file until it finds a compatible ver line. You can combine map files for different versions of the plug-in by pasting the contents of each file into one combined map file.


The get statement

The second line (get .) tells where the map file is located on the HTTP server. Additional get lines may appear in the map file to identify the location of external content on either the HTTP server, the network servers, a CD driver, or so on. The period after get indicates that the piece is in the same location as the HTML page. If you store the piece in a different location, you'll need to edit this line of the map file to show where it is. You can use either a relative URL (relative to the URL of the map file) or an absolute URL, which specifies the full path to where the piece is found on the HTTP server.


The put statement

The third line (put .) tells where external files, such as movies, will be downloaded to the user's computer. The default location is a download folder that's automatically created by the Authorware plug-in when put DOWNLOAD appears in a map file.


Adding a new line

1.	Choose File > Open to open a map file.

2.	Highlight the line you want the new line to follow.

3.	Choose the type of line you want to add from the Edit > Insert Line submenu.

Set the external file options in the Edit Line dialog box.


Platform values

When specifying platform values in the second column of segments, library, and external file entries, you have these options:

all	Macintosh and Windows
mac	Macintosh
win	Windows (both 16-bit and 32-bit)
win16	16-bit Windows
win32	32-bit Windows
Segment and library entries can use all, mac or win depending on the target platform. Certain Windows external files-such as UCDs-must be identified as either win16 or win32. Movie files can use all as long as they are in a format that can run on either Windows or Macintosh. In some cases, these shared external files require additional settings.


Segment lines-overview

A segment line provides the Authorware plug-in with information about the segments Afterburner has broken the Authorware file into.

A segment line looks like this:

seg     mac     piec0001.aas    32931   30814

A segment line consists of five columns:

•	The first column specifies the type of entry.

•	The second column tells which platform (all, win or mac) the piece can run on.

•	The third column gives the name of each segment on the HTTP server-including your four characters and four unique digits assigned by Afterburner.

•	The fourth column tells the starting point of each segment (in bytes) in relation to the beginning of the piece.

•	The fifth column gives the size of the segment.

The information you'll most likely want to change in the segment line is the file name.


Editing segment lines

Segment lines-overview

1.	Choose File > Open to open a map file.

2.	Double-click the line, or select it and choose Edit > Edit Line.

3.	Change the information in the dialog box.

Edit Line dialog box.


Library lines-overview

A library line provides the Shockwave plug-in with information about a library associated with the shocked Authorware file.

A library line looks like this:

lib     mac     library.aam     LIBRARY.APR

Library entries immediately follow the segment list. Each line has four columns:

•	The first column identifies the type of entry.

•	The second column identifies the intended platform (all,win or mac).

•	The third column identifies the map file for the library.

•	The fourth column specifies the name of the Authorware library when the piece was packaged. All-caps formatting is not required by Shockwave, but it's recommended as a convention to indicate that this is the original file name.

The information you most likely want to change in the library line is the file name.


Editing library lines

Library lines-overview

1.	Choose File > Open to open a map file.

2.	Double-click the line, or select it and choose Edit > Edit Line.

3.	Change the information in the dialog box.

Edit Line dialog box


External content lines-overview

An external content line looks like this:

bin     all     movie1.mov      MOVIE1.MOV      onDemand

Each external content line is divided into five columns (the fifth column is optional):

•	The first column identifies the entry as a binary entry. (The technical term for an external file is "binary file".)

•	The second column indicates the platform the external file runs on.

Platform values

•	The third column specifies the name of the file on the HTTP server. Most HTTP servers are case-sensitive, and the name in this column must exactly match the name on the server. (If you use all lowercase characters when you name files on the server, it's easy to remember that file names in this column should also be all lowercase.)

•	The fourth column specifies the name the file will be given when downloaded to a user's computer. All-caps formatting is recommended but not required.

•	An optional fifth column specifies settings that affect how the external files are downloaded.

External file options

The information you'll most likely want to change in the external content line is the file name. However, you need to add entries for the following external files because they're not automatically included in the map file:

•	Xtras

Using Xtras in shocked pieces (Macintosh)

Using Xtras in shocked pieces (Windows)

•	Authorware video player DLLs (.VDR), (Windows only)

•	Authorware movie player DLLs (.XMO), (Windows only)

•	OLE DLLs (Windows only)

•	Director movie driver and support files

Playing a Director movies in shocked pieces


Adding a new external content line

External content lines-overview

1.	Choose File > Open to open a map file.

2.	Highlight the line you want the new line to follow.

3.	Choose Edit > Insert Line > Bin.

Set the external file options in the Edit Line dialog box.


Editing external content lines

External content lines-overview

1.	Choose File > Open to open a map file.

2.	Double-click the line, or select it and choose Edit > Edit Line.

3.	Change the information in the dialog box.

Edit Line dialog box.


External file options

The setting in the fifth column determines how an external file is downloaded. There are six options:

empty

onDemand

recycle

preempt

macbinary

length


empty

If you leave the fifth column empty, the file will be downloaded to the user's computer when the Authorware piece begins and deleted when the piece ends. Downloading external files at the start of the piece is usually not the best choice, however, because it can cause long delays for the user.


onDemand

onDemand downloads the file only when the piece calls for it.

Many external files that are referenced from icons within Authorware can be downloaded on demand. For external files that Authorware doesn't know about-such as DLLs not directly referenced within a piece-use the NetDownload function in a calculation icon to download the files when needed.

Use onDemand for most external files.

Note: onDemand is not valid for downloading XMO drivers. For example, if this line appears in a map file:

bin   all   a3dir32.xmo   a3dir32.xmo   onDemand

then not only will the XMO driver never download from the server to the user's plug-in folder, but also no error message will appear to make that known. Recycle and Preempt commands are valid for use with XMO drivers, however.

See also Web-related functions and variables.


recycle

recycle does not delete the file when the Authorware piece ends. When the piece starts again, it uses this file instead of downloading it a second time.

This setting can save users a lot of time if they run the same piece repeatedly or if several pieces share one external file.

See also Using multiple get and put entries.


preempt

If a given external file is available on a user's hard disk or CD-ROM drive, preempt tells Authorware to disregard that file and instead look for it on the network.

This option can be useful in a few situations-for example, if you provide certain QuickTime videos on a CD-ROM as part of a piece, but have put newer versions of these files on the server. preempt means that the newer versions will be downloaded.


macbinary

macbinary  creates an AAB file combining the resource fork and the data fork of the file into a single MacBinary file. This preserves the Macintosh creator and type information, which is needed to ensure that movies, Xtras, the Director movie driver, and XCMDs download properly. HTTP transfers over the Internet would not otherwise preserve this information.

See also Preparing external Macintosh files for a shocked piece.


length

length  verifies the size of the file after downloading. If the length of the downloaded file doesn't match at runtime, the user sees an error message "File on server is missing or has wrong length" followed by the URL of the file that couldn't be downloaded. The corrupted file is deleted immediately after being downloaded.

For the Macintosh version of an Authorware piece, in most cases you must use an additional setting in the option column for each external file. ]

See also Preparing external Macintosh files for a shocked piece.


Preparing external Macintosh files for a shocked piece

External Macintosh files for a shocked piece

1.	Flatten the file with the Flatten command on Afterburner's File menu.

2.	In the map file, add the macbinary setting in the fifth column of the entry for the external file.

If you use any options in addition to macbinary, separate them with commas but no space.

Example

This example identifies an external file called calculat.aab that will be named CALCULATOR for use by the piece and will be downloaded when needed:

bin   mac   calculat.aab   CALCULATOR   macbinary,onDemand


External Macintosh files for a shocked piece

Afterburner compresses Authorware pieces and also flattens external files. Flattening is necessary because the HTTP protocol for downloading doesn't properly handle information in a Macintosh file's resource fork. A flattened file produced by Afterburner has an AAB extension.

Text files and cross-platform QuickTime movie (.MOV) files don't need to be flattened with Afterburner and don't require the macbinary setting in the map file.

Afterburner flattening doesn't work on external files you want to share between Windows and Macintosh computers. Instead, you need to enter the creator and type information for the files in the Map file option column (and not use macbinary).

This Map file example shows a movie called mymovie set up for use by both Windows and Macintosh computers:

bin     all     mymovie MYMOVIE type='MV93',creator='MD93'

Manually entering creator and type information in the map file for external files such as Director movies can improve the performance of your piece on the Macintosh. A Director movie will start playing sooner if it's not flattened, because a flattened file must be unflattened before playing, which can take a few seconds.


Using Xtras in shocked pieces (Macintosh)

External Macintosh files for a shocked piece

1.	Flatten the Xtra with the Flatten command on Afterburner's File menu.

2.	Add an entry to the map file for each Xtra to download.

Adding a new external content line

The Authorware plug-in will download each Xtra to an XTRAS folder when the piece begins.

3.	In the map file add the macbinary setting in the fifth column of the entry for the external file.

Editing external content lines

If you use any options in addition to macbinary, separate them with commas but no space.

4.	Insert put XTRAS before the entries for the Xtra.

put     XTRAS

bin   mac   dirtrans.ab   dirtrans.aab   macbinary


Using Xtras in shocked pieces (Windows)

1.	Add an entry to the map file for each Xtra to download.

Adding a new external content line

The Authorware plug-in will download each Xtra to an XTRAS folder when the piece begins.

2.	Insert put XTRAS before the entries for the Xtra.

put     XTRAS

bin     win16   mytrans.x16     MYTRANS.X16

bin     win32   mytrans.x32     MYTRANS.X32


Playing Director movies in shocked pieces

In Windows:

•	Add an external content line to the map file for each file required by Director in Windows.

Adding a new external content line

Be sure to include all the files required. The Authorware plug-in will download the files when the piece begins.

Files required for Director for Windows

Tip-Playing Director movies in 16-bit Windows

Tip-Playing Director movies in 32-bit Windows

On a Macintosh:

1.	Flatten the Director driver, Director_6.0.

Preparing external Macintosh files

2.	Add an external content line to the map file for Director_6.0.

Adding a new external content line


Files required for Director for Windows
Files required for Director in Windows

All of these files are in the same folder as the Windows version of Authorware 4. You can copy these files directly to the default folder, or you can use the map file to download them automatically.

Windows 16-bit	Windows 32-bit
a4dir.xmo	a4dir32.xmo
m6if16.dll	m6if32.dll
m6drvr16.exe	m6drvr32.exe
m6drvr16.rsr	m6drvr32.rsr
asifont.map	asifont.map
asiport.rsr	asiport.rsr
fileio.dll	fileio.dll
fontmap.txt	fontmap.txt
lingo.ini	lingo.ini
macromix.dll	macromix.dll
dirdib.drv	dirdib.drv
xobglu16.dll	xobglu32.dll


Tip-Playing Director movies in 16-bit Windows

If you're using the 16-bit Director driver (m6dvr16.exe), you can't use a put statement to download movies to a Netscape folder using a long file name (LFN), because the driver won't be able to find the Director movie. For example, a path such as program_files\netscape\navigator\program\plugins\np32asw is invalid because the 16-bit Director driver can't recognize the parent folder named program_files.


Tip-Playing Director movies in 32-bit Windows

If you're using the 32-bit Director driver (m6dvr32.exe), 32-bit Netscape, and Windows 95 or Windows NT 4.0, you can edit the map file to put movies into a folder other than the default.

get     .

bin     put   \moviesfortesting

bin     win   "themovie.dir"      "themovie.dir"

bin     win   "themovie2.dir"     "themovie2.dir"

When downloading the movies, a folder named moviesfortesting is created in the path, netscape\program\plugin\np32asw, and the movies play from there.

If you want to use blank spaces in the folder name, be sure to use quotation marks (for example, bin put "\movies for testing").


Using custom fonts in shocked pieces

In Windows, if you create a shocked piece that uses custom fonts (FNT files), users must install the fonts separately, outside of Afterburner, through the normal Windows installation procedure. Afterburner doesn't add entries for FNT files to the map files it produces, and Shockwave won't install the font files even if they're in the map file.

On the Macintosh, Afterburner recognizes custom fonts that you've packaged internally in a piece. The fonts will work when users run the shocked piece with Shockwave.


Combining Macintosh and Windows map files

Macintosh and Windows map files

1.	In Afterburner, open up the map files for both the Macintosh and Windows versions.

2.	Copy the file from the Macintosh file and paste it in at the end of the Windows file (or vice versa).

3.	Rename the combined file by choosing File > Save As.


Macintosh and Windows map files

Map files-overview

When you process Macintosh and Windows versions of your piece with Afterburner, you get two map files and two sets of segment files, which require two separate links on an HTML page. Users must select the appropriate link for their platform. By  combining both map files into a single file, a single link on an HTML page will automatically run the right version of the piece, depending on the user's platform.

In this example, the lines that begin with a pound sign (#) are comments.

# Combined Windows/Macintosh map file

ver 0 2

get .

put . # Windows segment entries.

seg     win     piew0000.aas    0       32931

seg     win     piew0001.aas    32931   30814

seg     win     piew0002.aas    63745   26995

# Windows library entries.

lib     win     winlib1.aam     MYLIB1.APR

lib     win     winlib2.aam     MYLIB2.APR

# Macintosh segment entries.

seg     mac     piem0000.aas    0       32715

seg     mac     piem0001.aas    32715   33001

seg     mac     piem0002.aas    65716   30796

# Macintosh library entries.

lib     mac     maclib1.aam     "MY LIB1"

lib     mac     maclib2.aam     "MY LIB2"

# Shared binary content entries.

bin     all     movie1.mov      MOVIE1.MOV      onDemand

bin     all     movie2.mov      MOVIE2.MOV      onDemand


Using multiple get and put entries

You can use several get and put entries in a map file. A get or put entry applies to the lines that follow it. Any put folders you specify will be created by the Authorware plug-in if they don't already exist on the user's hard disk.  Example

•	Insert a get line to specify the location of external files to download.

The map file get lines identify the location of external files on the HTTP server, the network servers, a CD drive, and so on. A period (.) after get indicates that the external file is in the same location as the HTML page. If you store the file in a different location, specify the location in the get line. You can use either a relative URL (relative to the URL of the map file) or an absolute URL, which specifies the full path to the file's location on the HTTP server (http://www.macromedia.com/mypiece/).

Adding a new line

•	Insert a put line to specify where external files will be placed when downloaded.

The map file put lines tell where external files will be downloaded to the user's computer. The default location is a download folder that's automatically created by the Authorware plug-in when put DOWNLOAD appears in a map file. See the Rules for put entries.

Adding a new line


Rules for put entries

•	If you use transition Xtras other than the Director transitions Xtra, add a put XTRAS entry before the entries for the Xtras, and check transition Xtras for the differences between Macintosh and Windows platforms. transition Xtras must be downloaded to the XTRAS folder when the piece begins.

Using Xtras in shocked pieces (Windows)

Using Xtras in shocked pieces (Macintosh)

•	For put entries, use a relative path-that is, relative to the Authorware plug-in folder (MYFOLDER). The plug-in won't accept an absolute path-that is, a path that specifies the full path from the root of the user's hard disk (C:\DOWNLOAD).

•	Different map files can contain the same put values. This permits external files downloaded by one Authorware piece to be shared with other Authorware pieces when the file entries are marked with the recycle option. You can save users a lot of downloading time by setting up several pieces to share external files, setting the same put folder for the shared files, and using the recycle option.

•	When you set a search path in Authorware's File Properties dialog box, it's recommended that you include every put location in this search path, including DOWNLOAD. That way you ensure that the Authorware plug-in will find every file you use with your piece.

Specifying where Authorware searches for files


Multiple get and put entries example

In the following example for Windows, three put entries tell the Authorware plug-in to download Xtras to the XTRAS subfolder of the Netscape plug-in folder, a README.TXT file to the MISC subfolder, and two movies to the MOVIES subfolder in the MISC folder.

ver     0 2

get     .

seg     win     piec0000.aas    0       32931

seg     win     piec0001.aas    32931   30814

seg     win     piec0002.aas    63745   26995

put     XTRAS

bin     win16   mytrans.x16     MYTRANS.X16

bin     win32   mytrans.x32     MYTRANS.X32

put     MISC

bin     all     readme.txt      README.TXT

put     MISC\MOVIES

bin     all     movie1.mov      MOVIE1.MOV              onDemand

bin     all     movie2.mov      MOVIE2.MOV              onDemand


Web-related functions and variables

Functions-shocked pieces only	Description
GoToNetPage	Opens a URL-specified web page within the browser
NetDownload	Downloads a URL-specified file and saves it to the user's disk
NetPreload	Preloads segment files from the server
Functions-all pieces	Description
JumpFile	Jumps to a URL-specified Authorware piece
JumpFileReturn	Jumps to a URL-specified Authorware piece
ReadExtFile	Reads an external file identified by a URL
FTP UCD and FTP XCMD	Add FTP capabilities to Authorware
Variables-all pieces	Description
NetConnected	Identifies a piece running with the Shockwave plug-in
NetLocation	Indicates the URL of the current piece


FTP UCD and FTP XCMD

In addition to the new functions and variables that are available, the FTP UCD (Windows) and the FTP XCMD(Macintosh) offer a complete set of FTP functions.

To download a package that contains the Windows 16-bit and 32-bit FTP UCDs or the Macintosh FTP XCMD, a Read Me file that describes each of the functions it contains, and a sample Authorware piece, see the Authorware Developer's Center.


Functions, variables, and security features

The Authorware Shockwave plug-in has two modes of security, trusting and nontrusting, that users can choose from.

Trusting mode designates an Internet location running Authorware pieces as "trusted" and allows users to take full advantage of the capabilities, such as XCMDs and UCDs, that Authorware provides.

Nontrusting mode prevents the automatic downloading of an Authorware piece's UCDs, DLLs, XCMDs, and Xtras. The nontrusting security feature is intended to protect users from running Authorware pieces whose plug-ins could cause damage to their system or infect it with a virus, or read confidential files from the user's hard disk and transmit them back to the server.


Restrictions in nontrusting mode

•	All writing to the user's hard disk, including renaming or deleting files is prevented.

•	The plug-in doesn't look for Xtras in the following locations:

System Type	Location
Macintosh	System Folder:Macromedia:Xtras
Windows 3.1, Windows NT	WINDOWS/SYSTEM/MACROMEDIA/XTRAS
Windows 95	Program Files/Macromedia/Xtras
•	Certain functions and variables are disabled:

Disabled variables in nontrusting mode

Disabled functions in nontrusting mode


Disabled variables in nontrusting mode

DiskBytes

FileLocation

FileType

OrigWorkingDirectory

RecordsLocation

SearchPath


Disabled functions in nontrusting mode

AppendExtFile

Catalog

CreateFolder

DeleteFile

JumpFileReturn

JumpOut

JumpOutReturn

JumpPrintReturn

NetDownload

PrintScreen

Quit(2)

Quit(3)

QuitRestart(2)

QuitRestart(3)

ReadExtFile

RenameFile

SaveRecords

WriteExtFile


Bypassing the Security dialog box

If you're putting up a safe Authorware piece-one that runs correctly even in the nontrusting mode because it doesn't download any external files or modify the user's disk-you can disable the Security dialog box by adding the following line at the start of the map file:

opt     win     BypassSecurityDialog=TRUE

This line in no way compromises the security of the user's machine. Users who have chosen not to trust your Authorware piece will not see the initial Security dialog box, but if the piece attempts to violate security, they will still see an error message indicating that the course has tried to violate security and was not permitted to do so. The ByPassSecurityDialog option is a way to make it simpler for users to run "safe" Authorware pieces.


Querying a network security variable

If an Authorware file is operating in nontrusting mode, Shockwave will make the FileLocation variable return an empty (zero-length) string. If the course is operating in trusted mode, the FileLocation variable will return the location of the plug-in directory on the file system.

To determine the security mode, place the following code in a calculation icon at the start of the file.

-- Test for security in trusting/nontrusting mode.

if FileLocation = "" then

-- Security is enabled. Operating in nontrusting mode.

NetSecurity = 1

else

-- Security is disabled. Operating in trusting mode.

NetSecurity = 0

end if

The Authorware file can then use the NetSecurity variable to trigger warnings to the user or otherwise modify the operation of the course.


Configuring your server

You can configure your server for individual accounts yourself or have the system administrator do it for you. This section assumes that you're already familiar with maintaining or administering a web server. If that isn't the case, don't attempt to follow these directions. Have your system administrator configure the server for you.

The following instructions provide an idea of how to configure a basic server to recognize and handle the MIME types for Macromedia products. However, since there are so many different types of web servers, you may need to consult the documentation for your web server to configure it properly.

Note: If your server runs on UNIX, see Shocked file names and capitalization.

1.	In your web server documentation, look up configuring MIME types.

When you've found the configuration file, simply apply the sample MIME type mappings listed below.

Authorware MIME type mappings

Configuring MIME types for a directory

2.	If your documentation doesn't help, try some online resources.

One web resource that may be of use is Web Compare where you will find a compilation of information about MIME configuration for all types of servers. (For information on these, see the "Working with Shockwave" section in the Authorware Developers Center.)

3.	Contact the manufacturer of your web server software for technical support.

They should have FAQs and advice about how to configure their web server software for your operating system. Several popular server software net sites are:

-	Microsoft Internet Information Server

-	NCSA

-	Apache

-	Netscape

-	WebSTAR

(For more information, see the "Working with Shockwave" section in the Authorware Developers Center.)


Authorware MIME type mappings

The MIME types for Authorware are:

AddType application/x-authorware-map aam
AddType application/x-authorware-seg aas
AddType application/x-authorware-bin aab

The format of the MIME type directive will change from server to server. For example, on an NCSA server, the server administrator updates the srm.conf file to include the appropriate MIME Type lines.

On some servers, you can combine the types into one line:

AddType application/x-authorware aam,aas,aab

On others, you may need to specify the extension with a period:

AddType application/x-authorware .aam

On Netscape servers, the entries are in the file mime.types and they're formatted like this:

type=application/x-authorware-map     exts=aam
type=application/x-authorware-seg     exts=aas
type=application/x-authorware-bin     exts=aab

Once the file is updated the server generally needs to be restarted.


Configuring MIME types for a directory

Some web servers allow you to configure a single directory as an alternative to changing the configuration for the entire server. For example, if your Internet service provider (ISP) doesn't add the Shockwave MIME types to its server, as a user you could create a file to add the MIME types in your personal web directory. On an NCSA server, this file is called .htaccess, and the format is the same as for srm.conf in the MIME type mappings directives above.


Adding a shocked piece to a web page

What is Shockwave

To add a shocked Authorware piece to an HTML page, use the HTML tag EMBED. This specifies the location of the piece and a rectangle within the page where the piece will be displayed. The EMBED tag for a shocked Authorware piece looks like this:

<EMBED SRC="mypiece.aam" WIDTH=640 HEIGHT=480 WINDOW=onTop PALETTE=Background>

1.	Open the HTML file with a text editor and insert the EMBED tag into the HTML body text.

2.	Use the name of the map file for the shocked piece in the SRC argument.

3.	Use the WIDTH and HEIGHT arguments to set the size of the display area.

The WIDTH and HEIGHT arguments specify the width and height of the display area in pixels. The browser crops the image to the size you specify, but it's best to use the size of your Presentation window for this setting.

4.	Use the WINDOW argument to specify how the browser displays the piece.

The WINDOW setting tells how the Authorware piece is displayed in relation to the browser. You have three options:

inPlace

onTop

onTopMinimize

5.	Use the PALETTE argument to specify which color palette the browser uses in Windows.

You have two options:

Foreground

Background


inPlace

Displays the piece embedded within the HTML page in the browser window. You can use inPlace only in Windows.

•	Don't try to use a title bar on your Presentation window. (The Title  Bar setting is in Authorware's File Properties dialog box.) Embedding inPlace doesn't allow the display of a title bar. Instead, the height of your Presentation window will be reduced by the height of the title bar.

•	Use WIDTH and HEIGHT settings of less than 640 x 480. Otherwise, users with their resolution set to 640 x 480 will have to scroll vertically and horizontally to see the whole window.

•	Avoid using the ResizeWindow and MoveWindow functions, which can produce unpredictable results with inPlace.


onTop

Displays the piece in a separate window on top of the browser window. This makes your piece look more like a separate application.


onTopMinimize

Displays the piece in a separate window and minimizes (or hides) the browser. This setting makes your piece look the most like a separate, stand-alone application.


Foreground

Loads the color palette of the shocked Authorware piece. That can cause a noticeable color shift in other images that are displayed in the browser. (The color shift is corrected when the browser reloads its own color palette once the Authorware piece finishes.) If the PALETTE setting isn't specified, the default is PALETTE=Foreground.


Background

Uses the browser's color palette. Using the Background setting avoids the color shift that happens when you use the foreground setting, but it has the disadvantage of changing the appearance of the Authorware piece. (The colors you used when you created the Authorware piece are replaced with the colors in the browser's palette.)


Creating a shocked piece with Netscape's color palette

To prevent Netscape from loading a different color palette yet still have your shocked Authorware piece appear as intended, use Netscape's color palette in your piece when you create it. To accomplish this you need Director 6, which is included with the Authorware 4 Interactive Studio.

Load Netscape's palette into Director and export a file

1.	Launch Director 6.

2.	Choose Xtras > Palettes.

A cast opens containing several palettes.

3.	Choose Modify > Movie > Properties, choose Netscape from the Default Palette pop-up in the dialog box, and click OK.

4.	Open the Paint Window and draw a circle or square of any color.

5.	Drag the cast member you just created to frame 1 of the score.

6.	Choose File > Export, select Frame 1 and DIB File Sequence, and click Export.

7.	Type a file name and click Save.

Load the exported file into Authorware

1.	Start Authorware and choose Modify > File > Palette.

2.	Click Load then select the BMP file you just exported from Director.

You may get a warning about the palette containing 256 colors. Click Continue.

3.	Click OK twice to return to the flowline.

Tip-Preventing palette flash


Tip-Preventing palette flash

Even when a shocked Authorware piece uses the browser palette, a flash can still occur when switching from the browser to the shocked piece (and vice versa). This happens because Authorware rearranges the order of the colors in the palette when it imports the browser palette. To prevent the flash, use Palette=Background in your EMBED tag.


Working with non-Shockwave browsers

If users don't have a Shockwave-compatible browser, you can set up the HTML page that contains your piece to display a JPEG or GIF image to these viewers. The image should include text explaining to users that they need a compatible browser and Shockwave to view the content. Use the <NOEMBED> tag to embed the image in the page.

This example shows how to display a GIF file named myimage in place of an Authorware piece named mypiece:

<HTML>

<HEAD>

<TITLE>Authorware Demo Page</TITLE>

</HEAD>

<BODY>

<CENTER>

<EMBED SRC="mypiece.aam" WIDTH=640 HEIGHT=480 WINDOW=inPlace>

<NOEMBED> <IMG SRC="path/myimage.gif"> </NOEMBED>

</CENTER>

</BODY>

</HTML>

In noncompatible browsers, users will see a broken image icon in addition to the substitute image.


Downloading considerations

Multimedia content delivered over the Internet is limited in size, primarily because the majority of users connect at relatively slow speeds-14,400 or 28,800 bits per second.

If there is heavy traffic at the Internet access point or on the Internet host, or if there's network congestion, the rate drops even lower-to as low as a few hundred bytes per second. For now, it is a good idea to assume your files will download at a rate of about 1000 bytes per second.

Delivery speed limits the size of files because most users will wait only a brief time for a file to download. Within the next few years, new technologies will dramatically increase access speeds to the Internet. As the new technologies become widely available, the limits imposed by the current technology will no longer be an issue. You'll be able to deliver CD-ROM size, and larger, files in real time across the Internet.

For now, ask yourself:

•	Will the user be willing to wait for the file to download?

•	Is there any way to reduce the size of the file to shorten the time the user has to wait before using the piece?

The table below shows theoretical throughput times for modems of different speeds. The speeds 14,400 and 28,800 bps are common for modems, 64kbps and 128 kbps is the throughput of an ISDN line, 1.5 mbps is the throughput of a standard high speed Internet connection (T1).

Content	Size	14.4 kbps	28.8 kbps	64 kbps	1.5 mbps
Small graphics & animation	30K	30 secs	10 secs	6 secs	1 sec
Small complete movie	100-200K	100-200 secs	50-100 secs	20-40 secs	1 sec
Short video clip	500K	500 secs	120-240 secs	90 secs	3 secs
Full-size movie	1 MB	N.A.	N.A.	180 secs	6 secs
MPEG video   stream	N.A.	N.A.	N.A.	N.A.	Continuous


Working with sound

Importing a sound

Setting when the sound plays

File formats for sounds

Synchronizing sounds

Previewing the sound

Changing the sound's speed

Setting how many times the sound repeats


Importing a sound

About importing sounds

1.	Drag a sound icon to the flowline.

2.	Double-click the icon to open it.

Sound Icon Properties

3.	In the Sound Icon Properties dialog box, click Import.

4.	Select a sound file from the list.

Check Link To File to keep the file external instead of copying it into Authorware.

Check Show Preview to preview the file's contents before importing it.

Select AIFF, PCM, WAVE, or SND in the Files of type drop-down list to narrow the file search.

5.	Click Import.

6.	Select options in the dialog box to modify the sound.

Note: When you drag and drop a sound file in the flowline or in a library, a sound icon is created for each sound file.


Setting when the sound plays

The position of the sound icon on the flowline determines when the sound starts playing. You can further control when other icons play in relation to the sound using the Concurrency options in the Sound Icon Properties dialog box.


File formats for sounds

Authorware supports the following sound file formats.

•	WAVE

•	AIFF

•	PCM

Notes:

•	Make sure the computer has a sound card that is installed properly. A computer that has no sound card can play a piece that includes sound, but the sound itself doesn't play.

•	For 16-bit sounds, make sure that the computer has a sound card capable of playing 16-bit sound.

•	On Windows, make sure that the sounds have 11 KHz or 22 KHz sampling rates.

•	Edit the sounds to begin and end where you want. Unlike digital movies, from which Authorware can easily select a range of frames, specifying starting and stopping points of a segment in a sound file requires using Authorware functions. It is usually easier to edit the sound file or convert the sound to a sound-only digital movie.


Synchronizing sounds

Combining sound with other multimedia components requires careful synchronization. Animation, video, and sound each require a certain length of time to play-time that can vary from computer to computer. When you play these components together, making sure they start and stop at the right time in relation to each other is crucial to creating a smooth piece.

Synchronizing sound with motion or video usually requires repeated testing to determine how long each component takes to play, where any noticeable pauses occur when a component is loaded into memory, and the start and stop points for each component.

The following are ways you can adjust how long a sound takes to play:

•	Use a sound editor to edit the sound's length.

•	Adjust the sound's speed by changing the Rate (% of Normal) setting in the Sound Icon Properties dialog box.

•	Use the SyncPoint and SyncWait functions to set a delay that allows a sound icon additional time to play before going on to the next icon.

The most practical way to present sound and graphics together is to combine them in a digital video. Besides guaranteeing that sound and image remain synchronized, Authorware typically gives better performance running a single digital movie than when running a sound icon concurrently with another icon.


Previewing the sound

1.	Select a sound icon.

2.	Choose Modify > Icon Properties or press Ctrl-I to open the Sound Icon Properties dialog box.

3.	Click Play.

Tip: You can right-click a sound icon to play its sound.


Changing the sound's speed

1.	Select a sound icon.

2.	Choose Modify > Icon Properties or press Ctrl-I to open the Sound Icon Properties dialog box.

3.	Click the Timing tab in the dialog box.

4.	Type a value or variable in the Rate (% of Normal) field.

Note: This option has no effect on some sound cards that aren't capable of controlling sound speed on Windows computers.


Setting how many times the sound repeats

1.	Select a sound icon.

2.	Select Modify > Icon Properties or press Ctrl-I to open the Sound Icon Properties dialog box.

3.	Click the Timing tab in the dialog box.

4.	Select an option in the Play drop-down list.

You can choose to play sounds a fixed number of times, a variable number of times, or until a variable is True.


Working with digital movies

Importing a digital movie

Using Director movies

Allowing Director interactivity


Importing a digital movie

Digital movies-overview

Using the Import dialog box

1.	Choose File > Import.

See Import

2.	Select a file from the list.

You can restrict the search by selecting a specific file type from the Files of type drop-down list.

3.	Click Import.

Using an icon

1.	Drag a digital movie icon to the flowline.

2.	Run the piece or double-click the empty icon to open it.

3.	In the Movie Icon Properties dialog box, click Import.

4.	Select a file from the list and click Import.

Dragging and dropping

•	Drag and drop a digital movie file in the Presentation window, in the flowline, or in a library.

A digital movie icon is automatically created for each digital movie file dragged and dropped into Authorware.

Note: Don't attempt to drag and drop BMP/DIB sequence movies onto the flowline or into a content library. You can import BMP/DIB sequence movies only from the Properties dialog of a movie icon. Dragging and dropping the first numbered BMP/DIB sequence files onto the flowline or into a content library imports each sequence file into a separate display icon.


Previewing a digital movie

1.	Select a digital movie icon.

2.	Choose Modify > Icon > Properties.

3.	Choose one of the buttons on the left side of the dialog box.

See Digital Movie Icon Properties

_	Click Play to play the digital movie starting at its current frame.

_	Click Step to advance or reverse the digital movie one frame per click.

_	Click Stop to stop the digital movie.

Tip-You can right-click a digital movie icon to preview its contents.


Setting playback conditions

1.	Select a digital movie icon.

2.	Choose Modify > Icon > Properties.

3.	Click the Timing tab in the dialog box.

See Digital Movie Icon Properties

To set when the digital movie plays in relation to other icons and conditions:

•	Choose a Concurrency option.

To change the digital movie's speed:

•	Type a new value in the Rate field.

The value can be a fixed number or a variable expression.

Using variables, functions, and expressions


Playing a range of frames

Authorware can select a range of frames to play from within a digital movie. The range could be different segments of a digital movie that play at different times. You can identify frames by frame numbers, or you can use variables or other expressions. Using variables or other expressions gives you the flexibility to select different frames at different times, depending on conditions in the piece.

1.	Select a digital movie icon.

2.	Choose Modify > Icon Properties

3.	Click on the Timing tab in the dialog box.

See Digital Movie Icon Properties

To set the starting and ending frame for a digital movie segment:

1.	Enter a number or a variable for the starting frame in the Start Frame field.

2.	Enter a number or a variable for the last frame in the End Frame field.

Using variables, functions, and expressions


Setting how many times a digital movie plays

The digital movie can loop continuously, play a set number of times, or play until some specific condition occurs.

1.	Select a digital movie icon.

2.	Select Modify > Icon > Properties.

3.	Click the Timing tab in the dialog box.

See Digital Movie Icon Properties

4.	Choose an option from the Play drop-down list.

_	Choose Repeatedly to play the digital movie in a continuous loop.

_	Choose Fixed Number of Times to play the digital movie a fixed or variable number of times. Enter a value or variable for the number of times the digital movie repeats.

_	Choose Until True to play the digital movie until a specific condition occurs. Enter an expression to describe the condition that becomes true at the time the digital movie should stop.

Using variables, functions, and expressions


Allowing Director interactivity

First see Using Director movies.

Macromedia Director movies are noted for interactivity-the ability to interpret and respond to the user, the computer, or external input.

When you import a Director 4.0 or higher movie that includes Lingo into Authorware, the Director movie can remain interactive: It behaves and responds just as it would if it were running on its own.

Any events or messages that the Director movie reacts to are used solely by the movie and not passed to Authorware. Events that the Director movie doesn't use are passed on to Authorware. The Interactivity drop-down list, which is active only when the movie is a Director movie that contains Lingo, controls whether the movie is interactive when it plays within Authorware.

To allow interactivity in a Director movie:

1.	Select a digital movie icon with a Director movie.

2.	Choose Modify > Icon > Properties.

See Digital Movie Icon Properties

3.	Turn on Interactivity.


Letting users control QuickTime movies

A QuickTime movie playing on its own can include a controller that lets the user start, stop, or seek a frame. You can specify whether this controller is available to the user in Authorware.

To provide a standard QuickTime controller for a QuickTime movie within Authorware:

1.	Select a digital movie icon with a QuickTime movie.

2.	Choose Modify > Icon > Properties.

3.	Click the Timing tab in the dialog box.

See Digital Movie Icon Properties

4.	Select Under User Control from the Play drop-down list.


Turning off sound in digital movies

To specify whether a digital movie's sound plays while the animation plays:

1.	Select a digital movie icon.

2.	Choose Modify > Icon > Properties.

See Digital Movie Icon Properties

3.	Uncheck the Audio On check box.


Specifying a PICS/FLC/FLI/CEL and DIB sequence movie's layer

1.	Select the digital movie icon on the flowline.

2.	Choose Modify > Icon > Properties.

See Digital Movie Icon Properties

3.	Enter a number in the Layer field, then click OK.


Seeing objects behind PICS/FLC/FLI/CEL and DIB sequence movies

The digital movie display occupies a rectangle on the screen. Sometimes you want the rectangle to cover everything underneath it, while other times you want to let parts of other objects show through. For PICS and FLC/FLI movies in an Authorware piece, you can do this by applying different modes to the movie.

1.	Select the digital movie icon for the PICS or FLC/FLI movie.

2.	Choose Modify > Icon > Properties.

See Digital Movie Icon Properties

3.	Select a Mode option.

The modes work much the same way as the modes on the Modes palette.

Opaque	Makes the rectangle completely cover any objects underneath it.
Matted	Makes invisible pixels in the transparent color that form a continuous area from the edge of the object's bounding rectangle to the object.
Transparent	Makes any pixels in the transparent color in the digital movie invisible. Whatever is behind the pixels shows through.
Inverse	Reverses colors in the movie and the color of objects behind the movie.
Erase	Replaces colors in the entire movie with the file's background color.
Note: For Matted and Transparent modes, white is the transparent color for PICS movies. You can change this by turning on Use black as transparent color when importing the movie. Black is the default transparent color for FLC/FLI/CEL and DIB sequence movies.


Displaying digital movies in front of other objects

You can use the Direct to Screen check box to put an internal digital movie that uses Opaque mode in front of all other objects regardless of the layer setting for any other object. External linked digital movies always play direct to screen and are always in Opaque mode.

To display an internal digital movie in front of all other objects:

1.	Select a digital movie icon.

2.	Choose Modify > Icon > Properties.

See Digital Movie Icon Properties

3.	Turn on Direct to Screen.


Working with video

Using video

Setting up your computer for video

Assigning an area for video overlay


Using video

Using video-overview

1.	Drag a video icon to the flowline.

2.	Double-click the video icon.

3.	Set the different options in the dialog box.

Video Icon Properties


Setting up your computer for video

Using video-overview

Playing a videodisc or video tape uses two pieces of hardware: a videodisc or video tape player and a device that displays the video. The video display can appear on an external monitor or on the main computer screen, depending on how your computer is configured and which one you have specified in the Preferences dialog box. Setting up hardware involves installing the hardware (a video player and possibly a video overlay card) and the proper drivers, and then using the Video Setup dialog box to tell Authorware what is installed and where it is connected.

Note: Macromedia doesn't guarantee that Authorware supports all video hardware. Before you install a video player or overlay card, check the hardware's documentation to determine its capabilities.

Setting up your computer for video requires installing the videodisc or laser player and telling Authorware which type of hardware is being used.


Installing the videodisc player

Setting up your computer for video

1.	Install the drivers for the player and video overlay card in the same folder as Authorware.

2.	Attach the player to the Com port.

The cables you need differ for different devices. If you don't have the appropriate cables, check with the device's manufacturer.


Configuring Authorware for specific video hardware

Setting up your computer for video

1.	Choose File > Preferences.

2.	Select a video source from the Video Player drop-down list.

Players appear in the list only when their drivers are in the same folder as Authorware or the Authorware run-time application.

3.	If you are using a video overlay card, select it from the Overlay drop-down list.

Video overlay cards appear in the list only when their drivers are in the same folder as Authorware or the Authorware run-time application.

4.	Specify the port that the video source is connected to.

Select the Com port from the Port drop-down list.

5.	Click OK.


Assigning an area for video overlay

Using video-overview

A video overlay appears on the object designated as the display area. By including an object in the chroma key color and specifying it as the display area, you provide a display area for the video overlay in the Presentation window.

When the piece runs, the video appears only when the display area is on screen. Authorware scales the video to the object's boundaries and displays video on the parts of the object that are in the chroma key color.

The chroma key color should be a color that you don't otherwise use in the piece. Some video overlay cards have limited choices for which colors can serve as chroma key colors. For example, the IBM M-Motion overlay card uses only magenta as the chroma key color.

Authorware's default chroma key color is magenta.


Setting a chroma key color

Using video-overview

1.	Select Modify > File > Properties.

2.	Click Chroma Key.

The chip next to the Chroma Key button displays the current chroma key color.

3.	Click the chip for the new chroma key color.

4.	Click OK.


Overlaying video on a display object

Using video-overview

To make video appear within parts of a display object:

1.	Place a display icon before the video icon on the flowline.

2.	Draw or import a filled object that you want to use as a display area.

Make sure you use a filled object. If you use an unfilled object, the video appears only in the object's edge that is in the chroma key color.

3.	Color parts of the object the same color as the chroma key color that is set in the File Properties dialog box.

Authorware scales the video to the rectangle that encompasses the entire object, but the video appears only where the object matches the chroma key color.

4.	Open the video icon.

5.	In the Presentation window, click the object you want to use as the display object.

The name of the object used as the display area appears in the Associated Display field.

6.	Click OK.


Selecting which segment to play

Using video-overview

Locations in some videos are measured as numbered frames. For constant linear velocity (CLV) format videodiscs, location is measured as the length of time from the beginning of the video. Select which video segment to play by entering the number of the first and last frames or begin and end times of the segment in the Start Frame and End Frame fields of the Video Icon Properties dialog box.


Specifying the start or end of a frame-based video segment

1.	Double-click the video icon to open the dialog box.

See Video Icon Properties

2.	Use the Controller to forward or rewind to the frame you want to use as the start or end frame.

The frame's image appears in the video display area in the Presentation window.

3.	Click the Set Frame button next to the Start Frame or End Frame field.

4.	Click the Jump To button to see the start or end frame.


Specifying the start or end of a CLV video segment

1.	Double-click the video icon.

2.	Type the time assigned to the start of the segment in the Start field; type the time for the end of the segment in the End field.

Specify the time as a string of integers. The two rightmost digits specify seconds; the third and fourth digits from the left specify minutes; any digits to the left of the minutes specify hours. For example, 1000 specifies 10 minutes and 0 seconds; 11505 specifies 1 hour, 15 minutes, and 5 seconds.


Previewing a video segment

1.	Double-click the video icon to open the dialog box.

See Video Icon Properties

2	Click the Jump to Start button.

The start frame of the video segment appears in the video display area.

3.	Click Preview.


Turning image and sound on and off

1.	Double-click the video icon to open the dialog box.

See Video Icon Properties

2.	Check the Video check box to turn on the image in the video.

3.	Check the Audio check boxes to turn on sound in a sound channel.

You can play both, one, or none of the video's sound channels.


Providing a controller

You can provide users with a Control Panel so they can browse, pause, and play video as they choose.

1.	Double-click the video icon to open the dialog box.

See Video Icon Properties

2.	Check the User Control check box.


Turning video off

Playing to the last frame is a good idea when you want to play the same video segment all the way through. However, you might want some flexibility in how long the video plays in the finished piece. For example, you might want the video to stop when the user chooses or finishes some assignment.

What remains on screen after the video stops depends on what is selected in the Freeze option. You can use the Until field to specify how long the frame remains visible.

You can turn off the video when any of the following conditions occur:

•	Playing video to the last frame

•	Stopping the video when a specific condition occurs

•	Letting the user stop the video by pressing a key


Playing video to the last frame

1.	Double-click the video icon to open the dialog box.

2.	Click the Timing tab.

See Video Icon Properties

3.	Specify no conditions in the Stop If field of the dialog box.


Stopping the video when a specific condition occurs

1.	Double-click the video icon to open the dialog box.

2.	Click the Timing tab.

See Video Icon Properties

3.	Enter a variable or expression that describes the condition in the Stop If field.


Letting the user stop the video by pressing a key

1.	Double-click the video icon to open the dialog box.

2.	Click the Timing tab.

See Video Icon Properties

3.	Check the Key Press check box.


Specifying what remains on the screen after the video stops

1.	Double-click the video icon to open the dialog box.

2.	Click the Video tab.

See Video Icon Properties

3.	Select an option from the Freeze drop-down list.

Last Frame Shown	Leaves the last frame that played.
Never	Removes the video display completely.
End Frame	Displays the frame specified in the End field.
-	To leave the final frame of the video on screen until a specific condition occurs, enter a variable or expression that describes the condition in the Until field.

Using variables, functions, and expressions


Using text, graphics, sound, movies, video, and sprites

Working with text

Working with graphics

Working with sound

Working with digital movies

Working with video

Using a sprite Xtra

Using an ActiveX control

Using libraries

Linking external content


Working with text

Importing text

Pasting text

Working with text styles

Handling fonts on different computers

Editing text within a piece

Setting paragraph attributes

Editing text externally


Working with text styles

Defining text styles

Applying text styles

Modifying text styles

Pasting icons that use text styles

Creating a text style from an existing format


Importing text

Importing text-overview

1.	Choose File > Import or press Ctrl-R.

When a file is imported in the Presentation window, Authorware embeds the text in the icon currently open. When a file is imported in the flowline or a library, Authorware creates a new display icon. To import text into an icon, first open the display or interaction icon that you want to hold the text.

Tip-Drag and drop a text file

2.	Select a text file from the list.

3.	Click Import.


Tip-Drag and drop a text file

You can drag a text or RTF file to the Presentation window, the flowline, or a library. When you drag a file to the Presentation window, Authorware embeds the text in the icon currently open. When you drag a file to the flowline or a library, Authorware creates a new display icon.


Importing text into a text field

Importing text

1.	Open the icon you want to contain the text.

Choosing an icon for text

Interpreting RTF page breaks

2.	Select the text tool and click in the Presentation window to create a text object.

3.	Drag the ends of the bar at the top of the text object to the desired width.

4.	Choose File > Import.

5.	Select a text file from the list.

6.	Click Import.


Choosing an icon for text

The best type of icon to hold text depends on what the text is used for.

•	Text to be read and studied-such as a description of local architecture, who won a sports event, or a book excerpt-should be placed in a display icon.

•	Text in an interaction-such as a test question-should be placed in an interaction icon.


Interpreting RTF page breaks

When you import or paste RTF text that includes page breaks the RTF Import dialog box appears asking how you want to distribute the pages within icons.

To ignore the page breaks:

•	Select Ignore from the Hard Page Break options.

To create a separate display icon for each portion of text that is above a page break:

•	Select Create New Display Icon from the Hard Page Break options.


Pasting text

Pasting text-overview

1.	From the application that contains the text, copy the text to the Clipboard.

2.	Make Authorware active.

3.	Open the icon where you want to paste the text.

Choosing an icon for text

Interpreting RTF page breaks

4.	Select the text tool and position the cursor.

5.	Choose Edit > Paste.


Defining text styles

Text styles-overview

1.	Choose Text > Define Styles.

2.	Click Add.

3.	Select the style you want.

Define Styles dialog box

4.	Enter the name of the text style in the field in the lower left corner of the dialog box.

5.	Click Modify.


Applying text styles

Text styles-overview

1.	Open a display or interaction icon that contains a text object.

2.	Use the text tool to select a portion of text.

3.	Choose Text > Apply Styles.

4.	Select a text style from the list in the Text Styles palette.

Text style checkmarks


Text style checkmarks

Checkmarks to the left of the text style names indicate whether the style is applied to the current text selection.

•	No checkmark appears next to the text styles that aren't applied to the current text selection.

•	A solid checkmark appears next to the text styles that are applied to all of the current text selection.

•	A gray checkmark appears next to the text styles that are applied to some but not all of the selected text.


Modifying text styles

Text styles-overview

1.	Choose Text > Define Styles.

2.	Select a text style from the list.

3.	Select the new attributes you want for the style.

See Define Styles.

4.	Click Modify or click the name of a different style in the list.


Handling fonts on different computers

The fonts that are available on one computer aren't always available on another computer, so there is no guarantee that the font you specify will always be available for your users. Authorware gives you some control over this problem by using a file called FONTMAP.TXT to specify substitutes for fonts that are not available on a computer running the piece. Edit the FONTMAP.TXT file using a text editor like Notepad.

Instructions for editing font mapping definitions can be found in the FONTMAP.TXT file.

Loading a font map file

Saving a font map file

Here is an example FONTMAP.TXT file:

....; Syntax for font mapping definitions is:

    ; Originating Platform:FontName  => CrossPlatform:FontName

      Mac:Courier       => Win:"Courier New"

      Mac:Geneva        => Win:"MS Sans Serif"

      Mac:Helvetica     => Win:Arial

      Mac:Monaco        => Win:Terminal

      Mac:Times         => Win:"Times New Roman"

      Win:Arial             => Mac:Helvetica

      Win:"Courier"         => Mac:Courier

      Win:"Courier New"     => Mac:Courier

      Win:"MS Sans Serif"   => Mac:Geneva

      Win:System            => Mac:Chicago

      Win:Terminal          => Mac:Monaco

      Win:"Times New Roman" => Mac:Times


Loading a font map file

Handling fonts on different computers

Authorware automatically loads the font map file, FONTMAP.TXT. You can load several font maps and merge them with the one currently loaded.

1.	Choose Modify > File > Font Mapping.

2.	Click Load Font Map.

3.	Select a font map file from the list.

4.	Click OK.


Saving a font map file

Handling fonts on different computers

Authorware automatically loads the font map file, FONTMAP.TXT. You can combine different font maps and save them for future use.

1.	Choose Modify > File > Font Mapping.

2.	Load the font map files that you want to combine and save.

Loading a font map file

2.	Click Save Font Map.

3.	Type a file name for the font map.

Replacing FONTMAP.TXT will change the default Authorware font map.

4.	Click Save.


Pasting icons that use text styles

A display icon keeps its text styles when you paste it into another piece. If the name of any of its text styles is the same as a different text style already in the piece, a dialog box prompts you to choose how to handle the conflict.

Choose:	To:
Keep same style name	Use the style attributes already defined in the open piece.
Keep same attributes by creating a new style	Rename the style by adding a number after the old name. For example, a duplicate text style named Caption would become Caption2.


Creating a text style from an existing format

All text has attributes whether or not the attributes are defined as a text style. You can create a new style by naming a collection of attributes applied to a section of text.

To set up a combination of attributes as a text style:

1.	Choose Text > Define Styles.

Undefined combinations of text attributes appear in parentheses in the list of text styles.

2.	Select an undefined set of attributes.

3.	Type a name for the text style in the field in the lower left corner of the dialog box.

4.	Click Modify.


Editing text within a piece

With the text tool and the Text menu you can create, enter, and edit individual portions of text in display icons and interaction icons. You can also enter text and assign text attributes such as font, size, and style.

Creating a new text object

Editing text in a text object

Adjusting the width of a text object

Repositioning a text block

Changing the font, size, style, or alignment of text


Creating a new text object

Using imported text:

•	Import a text file.

Importing text

Using the text tool:

•	Select the text tool, then click in the Presentation window.

A new text object appears. The cursor marks where you can enter text; the paragraph ruler across the top of the text object indicates the width of the text object.

Setting paragraph attributes

To create additional text objects in the same icon:

•	With the text tool still selected, click in the Presentation window again.


Editing text in a text object

1.	Open the Presentation window.

2.	Select the text tool and click the text where you want to edit it.

Use the keyboard and mouse as you do with a typical text editor.


Adjusting the width of a text object

1.	Select the pointer or text tool and click the text object.

2.	Drag a handle to adjust the text object.


Repositioning a text block

1.	Select the pointer from the toolbox.

2.	Click and drag the text object to a new position.

To move a group of text objects so they maintain the same position relative to each other, Shift-click the text objects before dragging them to a new location.


Changing the font, size, style, or alignment of text

1.	Select the text.

2.	Choose the new font, size, style, or alignment from the Text menu.


Setting paragraph attributes

Set paragraph margins, indentations, and tabs in either of two ways:

•	Use the paragraph ruler at the top of the text object.

Changing the margins of the entire block of text

Setting a tab

Indenting a paragraph

Aligning paragraphs

or

•	Import or paste text that already has paragraph attributes set.

Editing text externally


Changing the margins of the entire block of text

1.	Select the text tool and click the text object.

2.	Drag the handles at the ends of the paragraph ruler.


Setting a tab

Tab markers appear as triangles on the paragraph ruler at the top of a text object. Decimal tabs-for aligning the decimal points in numbers or for right-aligning words-appear as an arrows.

To set and change tabs, select a paragraph, then:

_	Click just above the paragraph ruler to set a tab.

_	Drag the tab to move it.

_	Click a standard tab to change it to a decimal tab and vice versa.

_	Drag a tab past the left or right margin to remove it.


Indenting a paragraph

1.	Select the text tool and click the text object.

2	Select the paragraph you want the indent to apply to.

_	To indent the left edge of the paragraph, drag the top half of the triangle at the left end of the paragraph ruler.

(To drag the top half of the triangle without moving the bottom half, hold down Shift.)

_	To indent the first line of the paragraph, drag the bottom half of the triangle at the left end of the paragraph ruler.

_	To indent the right edge of a paragraph, drag the triangle on the right end of the paragraph ruler.


Aligning paragraphs

1.	Select the text tool and click the text object.

2	Select the paragraphs you want to realign.

3.	Choose Text > Alignment, then Left Align, Center, or Right Align.


Editing text externally

You can take advantage of the strengths of an external word processor by exporting and reimporting the text through the Clipboard. Because text that you cut and paste retains its rich text format (RTF) information, all formatting except headers and footers is retained.

1.	Use the text tool to select the text you want to edit, then copy it to the Clipboard.

3.	Paste the text into a file in the word processor.

4.	When you are finished editing, save the file as RTF and import the text into Authorware.

Importing text


Working with graphics

You can import or link to an existing graphic or create graphics using the toolbox. The toolbox creates simple images quickly for objects such as boxes, frames, and dividing lines. Each display icon can hold more than one graphic object. You can group multiple objects together and treat the group as an individual object.

Importing a graphic

Scaling a graphic

Cropping a graphic

Drawing graphics

Applying color, fill, and line width

Arranging graphics

Placing objects in front of other objects


Choosing an icon for graphics

You can place graphics in display or interaction icons. In either case, you work with the graphic in the Presentation window.

•	Place graphics in interaction icons when you want them to appear throughout the interaction and be erased when the user leaves the interaction.

•	Place graphics in display icons when you want them to appear before the interaction or remain on screen after the interaction is complete.


Importing a graphic

Importing graphics-overview

1.	Choose File > Import.

You can embed or link a graphic into an icon by first opening a display or interaction icon.

Choosing an icon for graphics

Import command

Tip-Drag and drop a graphics file

2.	Select a file from the list.

Select the Link To File check box to keep the file external instead of copying it into Authorware.

Imported graphics

Tip-Check the Show Preview check box to see the file's contents before importing it.

3.	Click Import.

4.	Choose Modify > Image > Properties.

See Image Properties


Tip-Drag and drop a graphics file

You can drag a graphics file to the Presentation window, the flowline, or a library. When you drag a file to the Presentation window, Authorware adds the graphic to the icon currently open. When you drag a file to  the flowline or a library, Authorware creates a new display icon. Dragging a file to an icon adds the graphics to that icon.


Pasting graphics

1.	From the application that contains the graphic, copy the graphic to the Clipboard.

2.	Make Authorware active.

3.	Open the icon where you want to paste the graphic.

4.	Choose Edit > Paste to paste the graphic at the location you choose.

You can choose Edit > Paste Special to paste graphic objects from other applications that you want to convert into a format Authorware can use.


Drawing graphics

Use the Presentation window's toolbox to draw, resize, and rearrange graphics in the Presentation window.

The line, oval, rectangle, rounded rectangle, and polygon tools draw simple two-dimensional graphics in much the same way as other paint programs do.

1.	Open the Presentation window.

2.	Select the tool that draws the object you want.

See Toolbox

3.	Drag or click in the Presentation window to draw the object.


Applying mode, color, fill, and line width

Assigning color to an object

Assigning a fill pattern

Changing line width

Setting display modes


Setting display modes

1.	Select an object in the Presentation window.

If the object selected is an imported graphic image, you can also set the display mode by choosing Modify > Image Properties.

2.	Choose Window > Inspectors > Modes.

See Modes

Double-clicking the pointer tool in the toolbox also displays the Modes palette.

3.	Select a display mode from the palette.

Opaque	Makes the graphic completely cover any objects underneath it.
Matted	Makes invisible pixels that are in the transparent color and form a continuous area from the edge of the object's bounding rectangle to the object.
Transparent	Makes any pixels in the transparent color in the graphic invisible. Whatever is behind the pixels shows through.
Inverse	Reverses colors in the graphic and the color of objects behind the graphic.
Erase	Replaces colors in the entire graphic with the file's background color.


Assigning color to an object

1.	Select an object in the Presentation window.

You can select graphic objects or portions of text.

2.	Select Window > Inspectors > Colors.

Colors

Double-clicking the oval tool in the toolbox also displays the Colors palette.

3.	Click a color box to set which object property changes color.

Click the color box in the lower left corner of the palette to set text and line/border color.

Click the foreground color box in the lower right of the palette to set the fill foreground color. Click the background color box to set the fill background color.

4.	Click a color chip to select the color.


Assigning a fill pattern

1.	Select an object in the Presentation window.

2.	Select Window > Inspectors > Fills.

Fills

Double-clicking the rectangle tool in the toolbox also displays the Fills palette.

3.	Click a pattern to select it.

Clicking the upper left chip marked None makes the object unfilled.


Changing line width

1.	Select an object in the Presentation window.

2.	Select Window > Inspectors > Lines.

Lines

Double-clicking the line tool in the toolbox also display the Lines palette.

3.	Click a line sample to select that line width.


Arranging graphics

With Authorware you can drag and align objects in the Presentation window and group the objects so they keep the same position relative to each other as you move the group. When more than one display icon is active at a time, you can control which icons appear in front of the others by assigning the icon a layer in the Presentation window.

Dragging objects

Aligning objects

Placing objects in front of other objects


Dragging objects

•	Drag an object to a new location.

•	Shift-click several objects and drag them all at once to maintain their position relative to each other.

Tips:

-	Hold down Shift after you start to dragging to move an object horizontally, vertically, or at a 45-degree angle.

-	Choose Modify > Group to keep multiple objects grouped together. This saves reselecting the objects when you want to continue treating them as a group.


Aligning objects

1.	Shift-click to select the objects you want to align.

2.	Choose Modify > Align or press   to open the Align Objects palette.

3.	Click one of the alignment options on the palette.


Placing objects in front of other objects

When you overlap objects inside a display icon, the objects appear in front of each other in the order in which you include them. You can rearrange which objects inside the display icon are in front of others.

By default, the display icon's contents are stacked from back to front in the order in which the icons are encountered on the flowline. Setting the icon's Layer attribute lets you make icons appear in front of or behind the others regardless of the icon's place on the flowline.

There are two ways to place objects in front of other objects:

•	Moving objects to the front or back within a display icon

•	Setting a display icon's layer


Moving objects to the front or back within a display icon

To move an object to the front:

•	Select the object, then chose Modify > Bring to Front.

To move an object to the back:

•	Select the object, then chose Modify > Send to Back.


Setting a display icon's layer

An icon's default layer setting is 0. The higher an icon's layer number, the closer the icon appears to the front. An icon with a higher layer setting always appears in front of an icon that has a lower layer setting.

To change an icon's layer setting:

1.	Select the icon in the flowline.

2.	Choose Modify > Icon > Properties.

3.	Type a number in the Layer field, then click OK.

Image properties


Scaling a graphic

1.	Select a graphic object in the Presentation window.

2.	Choose Modify > Image > Properties.

3.	Click the Layout tab, then select Scaled from the Display pull-down list.

Image properties

4.	Type percentage values in the Scale fields or new size values in the Size fields.

The image is scaled horizontally to the value in the X field, and vertically to the value in the Y field.


Cropping a graphic

1.	Select a graphic object in the Presentation window.

2.	Choose Modify > Image > Properties.

3.	Click the Layout tab, then select Cropped from the Display pull-down list.

Image properties

4.	Type new size values in the Size fields.

The image is cropped horizontally to the new X size, and vertically to the new Y size.

5.	Specify the visible area of the cropped image.

Click a box in the Placement grid to set the visible area of the cropped image. The opposing edges and corners are cropped.


Displaying a graphic at full size

1.	Select a graphic object in the Presentation window.

2.	Choose Modify > Image > Properties.

3.	Click the Layout tab, then select As Is from the Display pull-down list.

The image appears at 100% of its original size.

Image properties

4.	Specify the placement of the image.

Click a box in the Placement grid to set the origin point from which the image is drawn. This is useful when replacing graphics at runtime.


Transitions, positioning, and motion

Transitions

Choosing erase transitions

Choosing a transition

Positioning

Positioning objects

Positioning objects on a path

Positioning objects within an area

Positioning objects on the screen

Letting users drag objects

Motion

Types of motion

Creating paths

Moving objects direct to a point

Moving objects to a point on a line

Moving objects to a point on a grid

Moving objects along an entire path

Moving objects to a point on a path


Choosing a transition

The Transition property specifies transitions used when Authorware draws display, interaction or framework icon objects on the screen.

1.	Select the object's icon on the flowline.

2.	Choose Modify > Icon > Transitions.

3.	Set the Transition properties.

Transition

4.	Click Apply to preview the transition.


Choosing erase transitions

The Erase Transition property specifies transitions used when Authorware removes display, interaction or framework icon objects off the screen.

1.	Drag an erase icon to the flowline

Make sure it's after the icons that contain the objects you want to erase.

2.	Open the erase icon by running the piece or double clicking the icon.

3.	Select the objects to be erased.

In the Presentation window, click the objects to erase.

4.	Set the Erase Icon properties.

Erase icon properties

5.	Click Preview to check the transition.


Types of motion

Motion icons can move objects in several ways. When setting up motion icons, you create the objects to move, choose a motion type, and specify a motion rate.

Some motion icons move objects along a straight line:

Direct to Point

Direct to Line

Direct to Grid

Another motion icon moves objects along a curved path:

Path to End

You can also choose to move an objects part way along a path:

Path to Point

You select the type of motion in the Motion Icon dialog.

Motion Icon Properties

Show Me: Move


Moving objects direct to a point

The Direct to Point motion type moves objects from any position on the screen to the location you choose. When the object is already at its destination, Authorware ignores the motion icon.

Types of motion

1.	Place a motion icon on the flowline

Make sure it's after the icon that contains the object you want to move.

2.	Open the motion icon by running the piece or double clicking the icon.

3.	Click the object to be moved and drag it to its destination.

4.	Set the Motion properties.

Direct to point

5.	Click Preview to see the motion you've set up.

Change the destination by dragging the object to a different location.


Moving objects to a point on a line

The Direct to Line motion type moves objects to a specific point on a line. When the object is already on the line, it appears to slide along the line; when the object isn't on the line, it moves toward the specified point.

Types of Motion

1.	Drag a motion icon to the flowline

Make sure it's after the icon that contains the object you want to move.

2.	Open the motion icon by running the piece or double-clicking the icon.

3.	Select Direct to Line in the Type pull-down menu.

4. 	Define the line.

Setting the base and end points of a line

5. 	Define the object's destination.

Setting the destination point on a line

6. 	Set the motion properties and click preview.

Setting Direct to Line motion properties and previewing


Setting the base and end points of a line

First see Moving objects to a point on a line.

1.	In the dialog box, select the Layout tab.

2.	Click Base and drag the object to where you want the line to begin.

3.	Click End and drag the object to where you want the line to end.

To reposition either point, click the appropriate button and drag the object to a different position.

Base, Destination, End

Changing the scale of the line


Changing the scale of the line

The base and end values define a scale for the line. The default base value is 0; the default end value is 100. Entering base and end values changes the scale of the line, not the location of its base and end points.

•	To change the scale, type different values in the base and end fields.

You can also use a variable or expression in either field.


Setting the destination point on a line

First see Moving objects to a point on a line.

•	Click Destination and drag the object to its destination on the line.

To reposition the destination point, click Destination and drag the object to a different destination

or

•	Type a value, variable, or expression in the Destination field.

Setting the destination point-line


Setting the destination point-line

The object's destination is determined by the value of the number, variable, or expression entered in the Destination field. That value is compared to the base and end values of the line. For example, if the base value is 0 and the end value is 100, a destination value of 50 sets an object's destination to the center of the line.


Setting Direct to Line motion properties and previewing

First see Moving objects to a point on a line.

1.	Set the motion properties.

Direct to line

2.	Click Preview to see the motion you've set up.

3.	Click OK.


Moving objects to a point on a grid

The Direct to Grid motion type moves objects to a specific horizontal (x) and vertical (y) coordinate on the screen.

Types of motion

1.	Drag a motion icon to the flowline

Make sure it's after the icon that contains the object you want to move.

2.	Open the motion icon by running the piece or double0-clicking the icon.

3.	Select Direct to Grid in the Type pull-down menu.

4. 	Create the grid.

Creating a grid

5. 	Define the object's destination.

Setting the destination on a grid

6.	Set the motion properties and click Preview.

Setting Direct to Grid motion properties and previewing


Creating a grid

First see Moving objects to a point on a grid.

1.	In the dialog box, select the Layout tab.

2.	Click Base and drag the object to where you want the upper left corner of the grid.

3.	Click End and drag the object to where you want the lower right corner of the grid.

To reposition either corner click the appropriate button and drag the object to a different position.

Base, Destination, End

Changing the scale of the grid


Changing the scale of the grid

The base and end values define a scale for the grid. The default base value is 0; the default end value is 100. Entering base and end values changes the scale of the grid, not the location of its corners.

•	To change the scale, type different values in the Base and End fields.

You can also use a variable or expression in all four fields.


Setting the destination on a grid

First see Moving objects to a point on a grid.

•	Click Destination and drag the object to be moved to its destination on the grid.

To reposition the destination point, click Destination and drag the object to a different destination

or

•	Type a value, variable, or expression in the Destination fields.

Setting the destination point-grid


Setting the destination point-grid

The object's destination is determined by the value of the number, variable, or expression entered in the Destination fields. That value is compared to the base and end values of the grid. For example, if the base x and y value is 0 and the end x and y value is 100, a destination x and y value of 50 sets an object's destination to the center of the grid.


Setting Direct to Grid motion properties and previewing

First see Moving objects to a point on a grid.

1.	Set the motion properties.

Direct to Grid properties

2.	Click Preview to see the motion you've set up.

3.	Click OK.


Moving objects along an entire path

The Path to End motion type moves objects along the path you specify.

Types of motion

1.	Drag a motion icon to the flowline. Make sure it's after the icon that contains the object you want to move.

2.	Open the motion icon by running the piece or double-clicking the icon.

3.	Select Path to End in the Type pull-down menu.

4. 	Define the path.

Creating paths

5.	Set the motion properties and click Preview.

Setting Path to End motion properties and previewing


Setting Path to End motion properties and previewing

First see Moving objects along an entire path.

1.	Set the motion properties.

Path to Point Properties

2.	Click Preview to see the motion you've set up.

3.	Click OK.


Moving objects to a point on a path

The Path to Point motion icon moves objects to varying points on a path

Types of Motion

1.	Drag a motion icon to the flowline. Make sure it's after the icon that contains the object you want to move.

2.	Open the motion icon by running the piece or double clicking the icon.

3.	Select Path to Point in the Type pull-down menu.

4. 	Define the path.

Creating paths

5.	Set the point on the path where you want the object to stop.

Setting the destination on a path

6.	Set the motion properties and click Preview.

Setting Path to Point motion properties and previewing


Setting the destination on a path

First see Moving objects to a point on a path.

•	Click Destination and drag the object to its destination on the path.

To reposition the destination point, click Destination and drag the object to a different destination

or

•	Type a value, variable, or expression in the Destination field.

Setting the destination point-path


Setting the destination point-path

The object's destination is determined by the value of the number, variable, or expression entered in the Destination field. That value is compared to the base and end values of the path. For example, if the base value is 0 and the end value is 100, a destination value of 50 sets an object's destination to the midpoint of the path.


Setting Path to Point motion properties and previewing

First see Moving objects to a point on a path.

1.	Set the motion properties.

Path to Point Properties

2.	Click Preview to see the motion you've set up.

3.	Click OK.


Creating paths

First see Moving objects along an entire path, Moving objects to a point on a path, and Positioning objects on a path.

1.	In the dialog box, select the Layout tab.

2.	Click the object you want to move.

3.	Drag the object and release the mouse button.

Triangle markers appear at each point where you release the mouse button; lines that show the motion path appear between the markers.

4.	Adjust points on the line to change the shape of the path.

To:	Do this:
Move a point	Drag it.
Delete a point	Select the point and click Delete in the Layout tab of the dialog box.
Add a point	Click anywhere on the path.
Make a segment curved instead of straight	Double-click a triangle marker in the middle of the segment. The triangle marker becomes a circle marker.
Make a segment straight instead of curved	Double-click a circle marker in the middle of the segment. The circle marker becomes a triangle marker.
Making circular paths


Making circular paths

First see Creating paths.

1.	Click the object you want to move.

2.	Drag the object and release the mouse button.

The first and second points define the diameter of the circle.

3.	Drag the object to make a third point.

4.	Double-click the second point to create a curved path.

5.	Drag the third point over first point to close the circle.

Make sure to drag the point and not the object.


Positioning objects

By default, Authorware places objects exactly where you position them in the Presentation window. You can also position objects at varying points by setting the following display icon positioning properties:

On Path

In Area

On Screen

You can let users position objects by dragging.

Dragging Objects


Positioning objects on a path

Positioning objects

Use the On Path display icon property to position an object at different points along a path-for example, to create a gauge or slider that moves to a specific point on the path depending on the value of a variable.

1.	Select the object's icon on the flowline.

2.	Choose Modify > Icon > Properties.

3.	Click the Layout tab and select On Path from the Positioning pull-down menu.

4. 	Define the path.

Creating paths

5. 	Set the object's position.

Setting the position on a path

6.	Set the display properties.

Display Icon Properties


Setting the position on a path

First see Positioning objects on a path.

•	Click Initial and drag the object to its position on the path.

To reposition the point, click Initial and then drag the object to a different position

Or

•	Type a value, variable, or expression in the Initial field.

Setting the position point-path


Setting the position point-path

The object's position is determined by the value of the number, variable, or expression entered in the Initial field. That value is compared to the base and end values of the path. For example, if the base value is 0 and the end value is 100, an initial value of 50 sets an object's position to the midpoint of the path.


Positioning objects within an area

Positioning objects

The In Area display icon property lets you specify the area, assign horizontal and vertical values to the area's corners, and define variables or expressions that set the object's horizontal (x) and vertical (y) position.

1.	Select the object's icon on the flowline.

2.	Choose Modify > Icon > Properties.

3.	Click the Layout tab and select In Area from the Positioning pull-down menu.

4. 	Define the area.

Defining an area

5. 	Set the object's position.

Setting the position in an area

6.	Set the display properties.

Display Icon Properties


Defining an area

First see Positioning objects within an area.

1.	In the dialog box, select the Layout tab.

2.	Click Base and drag the object to where you want the upper left corner of the area.

3.	Click End and drag the object to where you want the lower right corner of the area.

To reposition either corner click the appropriate button and drag the object to a different position.

Changing the scale of the area


Changing the scale of the area

The base and end values define a scale for the area. The default base value is 0; the default end value is 100. Entering base and end values changes the scale of the area, not the location of its corners.

•	To change the scale, type different values in the Base and End fields.

You can also use a variable or expression in all four fields.


Setting the position in an area

•	Click Initial and drag the object to its position in the area.

To reposition the point, click Initial and drag the object to a different position

or

•	Type a value, variable, or expression in the Initial field.

Setting the position point-area


Setting the position point-area

The object's position is determined by the value of the number, variable, or expression entered in the Initial fields. That value is compared to the base and end values of the area. For example, if the base x and y value is 0 and the end x and y value is 100, an initial x and y value of 50 sets an object's destination to the center of the area.


Positioning objects on screen
Positioning objects on the screen

The On Screen display icon property places objects anywhere visible on the screen.

Positioning objects

1.	Select the object's icon on the flowline.

2.	Choose Modify > Icon > Properties.

3.	Click the Layout tab and select On Screen from the Positioning pull-down menu.

4. 	Set the object's position.

Setting the position on screen

5.	Set the display properties.

See Display Icon Properties


Setting the position on screen

First see Positioning objects on the screen.

•	Click Initial and drag the object to its position on screen.

To reposition the point, click Initial and drag the object to a different position

or

•	Type a value, variable, or expression in the Initial fields.

Setting the position point-screen


Setting the position point-screen

The object's position is determined by the value of the number, variable, or expression entered in the Initial fields. That value is a specific screen coordinate. For example, an initial X value of 50 and an initial Y value of 20 sets an object's position to 50 pixels from the left edge and 20 pixels from the top edge of the Presentation window


Dragging an object

An icon's Movable property allows users to move all of the objects-both text and graphics-contained in an icon. To allow users to move only a single object, put it in its own icon.

1.	Select the icon containing the object.

2.	Choose Modify > Icon > Properties and click the Layout tab.

3.	Select the appropriate setting:

_	To drag an object around the screen, choose On Screen as the Movable setting.

_	To drag an object anywhere inlcuding off the screen, choose Anywhere as the Movable setting.

_	To drag an object along a path, choose On Path as both the Position setting and the Movable setting.

_	To drag an object in an area, choose In Area as both the Position setting and the Movable setting.


Using variables, functions, and expressions

Variables, functions, and expressions-overview

Using system and custom variables

Using system and custom functions

Using expressions

Using custom variables and functions in libraries

Scripting and flow control


Using system and custom variables

Using a variable

Creating a variable

Displaying variable information on the screen

Referring to a variable's value at a specific icon

Displaying information about a variable

Changing a custom variable

Deleting a custom variable


Using system and custom functions

Using a system function

Using a scripting Xtra

Using a custom function

Loading a custom function

Unloading a custom function


Using expressions

Using numbers in an expression

Using character strings in an expression

Using constants in an expression

Using comments in an expression

Using operators in an expression

Displaying expression values on the screen


Using a variable

Variables-overview

1.	Select the location where you want to use the variable:

-	If you're using the variable in a statement, expression, or function in a calculation window, set up whatever precedes the variable. Then select where you want to place the variable.

Example

-	If you're using a variable in a dialog box field, display the dialog box and position the cursor in that field.

-	If you're using the variable within a statement or expression in a dialog box field, set up whatever precedes the variable. Then position the cursor where you want to place the variable.

2.	Choose Window > Variables.

Variables

3.	From the Category pull-down list, select the category that contains the variable you want to use.

If you don't know which category the variable is in, select All.

4.	Select the variable from the list.

Type the first few letters of the variable's name to scroll to the variable in the list.

5.	Click Paste.

Authorware pastes the variable at the cursor location.

6.	Click Done to close the the Variables dialog box.


Using a variable in a calculation window-example

For example, if you want to replace the search string argument in the FindText function with the variable HotTextClicked, you'd set up the calculation window like this:


Displaying variable information on the screen

Displayed variables-overview

1.	Drag a display icon to the flowline and open it.

2.	Use the text tool to position the insertion point.

3.	Choose Window > Variables.

4.	Select the variable you want to use. Then click Paste.

The braces identify the text that's between them as the name of a variable. The braces are essential: they tell Authorware to display the information the variable contains rather than the text of the variable's name.

You can also type the name of a variable on the screen. If you decide to type it rather than paste it, make sure you enclose it in braces.


Adding text to put a variable in context

You may want to add text before or after the variable so it's clear what the information you're displaying represents. For example, if you're using the variable SessionTime to show a user how long a session has lasted so far, you might want to include text like this: Time since you started: 1:12 hours.

1.	Position the cursor either before or after the braces that enclose the variable.

2.	Type the text you want to add.

If you're using the variable SessionTime, the result might look like this:

Time since you started: {SessionTime} hours.


Referring to a variable's value at a specific icon

Variable values at a specific icon

1.	Open the Variables dialog box to paste the variable into the calculation window, dialog box, or text object where you want to use it.

2.	Immediately following the variable's name, type @ and then type one of the following:

-	The title of the icon you're referencing enclosed in quotation marks. Make sure the title of the icon you want to reference is unique.

For example, if you want to know the value of the variable EntryText at an icon titled Enter Your Name, the result would look like this:

EntryText@"Enter Your Name"

The title between the quotation marks will be updated automatically if the icon is renamed except when you enclose the title in parentheses as in this example:

EntryText@("Enter Your Name")

or

-	A variable or expression containing a valid icon title or icon ID. Make sure the title of the icon you want to reference is unique.

For example, if you want to know the value of the variable DisplayX at the icon for the current page (CurrentPageID), the result would look like this:

DisplayX@CurrentPageID


Creating a variable

Variables-overview

To create a variable, you need to create a name for it, and then define it. You can start the process of creating a custom variable in several places:

From the Variables dialog box

In a calculation window

In a field in a dialog box

In a text object


Creating a variable in the Variables dialog box

1.	Choose Window > Variables.

2.	Click New.

3.	Type the name you want to use for the variable in the Name field.

4.	Define the variable.

Defining a variable in the New Variable dialog box


Creating a variable in the calculation window

1.	Type the name of the new variable in the expression where you want to use it.

2.	Define the variable.

Defining a variable in the New Variable dialog box


Creating a variable in a dialog box

1.	Type the name of the new variable in the field where you want to use it.

If you want to use the variable in an expression in the field, type the name as part of the expression.

2.	Define the variable.

Defining a variable in the New Variable dialog box


Creating a variable in a text object

1.	Open the display icon or the interaction icon you want to use to display the variable, and select the text tool.

2.	Click the cursor at the spot where you want the contents of the variable to appear. Then type a left brace ({), the name of the new variable, and a right brace (}).

For example, to create a new variable named Counter, type:

{Counter}

3.	Define the variable.

Defining a variable in the New Variable dialog box


Defining a variable in the New Variable dialog box

Variables-overview

1.	In the Initial Value field, type the value you want Authorware to assign to the variable at the outset when someone runs the piece you're creating.

If you don't enter a value, Authorware uses zero.

2.	Type a description.

Provide as much information as possible about the variable and how you're using it.

3.	Click OK to close the dialog box.

Authorware keeps track of the value of the variable automatically and adds it to the list of variables in the Variables dialog box.


Displaying information about a variable

1.	Choose Window > Variables.

2.	Select a variable.


Changing a custom variable

There are three changes you can make to a custom variable: you can change its name, its initial value, or its description. If you change a custom variable's name, Authorware automatically replaces the old name with the new name anywhere that it appears in a piece.

Renaming a variable

Setting the initial value of a variable

Changing the description of a variable

Deleting a custom variable


Deleting a custom variable

Before you try to delete a custom variable, make sure it isn't referenced anywhere in the piece.

1.	Choose Window > Variables.

2.	Select the name of the file you're working on in the Category pull-down list.

3.	Select a variable from the list of custom variables.

4.	Click the Delete button.

Note: If the variable is referenced the Delete button is dimmed and the icons that reference the variables are listed under Referenced By.


Setting the initial value of a variable

1.	Choose Window > Variables.

2.	Select the name of the file you're working on in the Category pull-down list.

3.	Select a variable from the list of custom variables.

4.	Type the new value in the Initial Value field.

The initial value is set at the outset when someone runs the piece you're working on.


Changing the description of a variable

1.	Choose Window > Variables.

2.	Select the name of the file you're working on in the Category pull-down list.

3.	Select a variable from the list of custom variables.

4.	Edit the text in the Description text box.


Renaming a variable

Custom variable names

1.	Choose Window > Variables.

2.	Select the name of the file you're working on in the Category pull-down list.

3.	Select a variable from the list of custom variables.

4.	Click Rename.

5.	Type the new name for the variable

6.	Click OK.


Using a system function

System functions-overview

1.	Select the spot where you want to use the function:

_	If you're using the function in a calculation window, position the cursor where you want the function to appear.

For example, if you want to capitalize the name a user has entered, you'd set up the variable Name, where you're storing the capitalized name, before you paste the Capitalize function.

_	If you're using the function as part of an expression in a dialog box field, set up whatever precedes the function, then position the cursor where you want to place the function.

For example, you could use the GetNumber function to get an old score you've stored in a string, compare it to a user's current score, and then branch depending on whether the current score was lower or higher than the current score. The expression would look like this:

Score > GetNumber(5,Score Data)

You'd set up the variable Score (which contains the current score) and the relational operator that performs the comparison before you pasted the function in the field.

2.	Choose Window > Functions.

3.	From the Category drop-down list, select the category that contains the function you want to use.

If you don't know which category the function is in, select All.

4.	Select the function from the list and then click Paste.

5.	In the parentheses following the function's name, insert any information the function may require.

The syntax and arguments for each system function are listed and defined in the Functions dialog box.


Using a custom function

Custom functions-overview

1.	Load the function if you haven't already done so.

Loading a custom function

2.	Position the cursor in the calculation window or dialog box field where you want the function to appear.

3.	Choose Window > Functions.

4.	From the Category list at the top of the dialog box, select the name of the file you're currently working on.

It's at the bottom of the list of categories.

Authorware displays the custom functions that are currently loaded.

5.	Select the function that you want to use from the list and then click Paste.

Authorware pastes the function at the cursor location.

6.	Type the arguments for the function between the parentheses.


Loading a custom function

Before Authorware can use a custom function, the function needs to be in memory. Loading a custom function is like opening an Authorware file: Authorware reads the function from the disk where it's stored into the computer's memory. Once the function is there, Authorware can exchange information with the function and tell it when to start. Loading a function connects Authorware with the function and allows the two to communicate. You can start the process of loading a custom function from:

The Functions dialog box

In a calculation window

In a field in a dialog box

In a text object


Unloading a custom function

1.	Choose Window > Functions.

2.	Select the name of the file you're working on in the Category pull-down list.

The names of the custom functions currently loaded appear.

3.	Click Unload.


Loading a custom function in the Functions dialog box

1.	Choose Window > Functions.

2.	Select the name of the file you're working on in the Category pull-down list.

The names of the custom functions you've already loaded appear.

3.	Click Load.

4.	Select the file that contains the function you want to use, and then click Open.

Another dialog box appears that lists the functions contained in the file.

5.	Select the function you want, and then click Load.

Loading DLLs that don't follow Authorware conventions

6.	Paste the function you've loaded into the calculation window or dialog box field where you want to use it.

Using a custom function


Loading a custom function in a calculation window, a dialog box field, or a text object.
Loading a custom function in a calculation window, a dialog box field, or a text object

1.	Type the name of the function followed by its arguments.

Make sure you use the correct syntax.

2.	Close the calculation window, dialog box, or text object to open the Load Function dialog box.

3.	Select the file that contains the function you want to use, and then click Open.

Another dialog box appears that lists the functions contained in the file.

4.	Select the function you want, and then click Load.

Loading DLLs that don't follow Authorware conventions

5.	Paste the function you've loaded into the calculation window or dialog box field where you want to use it.

Using a custom function


Displaying expression values on the screen

Embedding an expression in a text object makes it possible to display the result of a calculation without having to add a calculation icon to the flowline. When Authorware displays the text object to a user, it displays the results of the expression, not the expression itself.

1.	Drag a display icon to the flowline and open it.

2.	Use the text tool and type the information that precedes the value you want to display in the Presentation window.

Leave the cursor positioned at the end of the text you just typed.

3.	Use the Variables and Functions commands to paste the variables and functions you want to use.

For example, if you want to display the percentage of the responses a student got right on the first try, you'd paste the FirstTryCorrect and the JudgedInteractions variables in the text object. The result would look like this:

{FirstTryCorrect}{JudgedInteractions}

4.	Add the operators, numbers, character strings, constants, and comments you want to use.

To get the percentage of the responses a student got right on the first try, you'd insert the division operator between FirstTryCorrect and JudgedInteractions, like this:

{FirstTryCorrect}/{JudgedInteractions}

5.	Delete all but the left-most and right-most braces.

The result would look like this:

{FirstTryCorrect/JudgedInteractions}

Note: If you want the value of the expression to change as the values of the variables within it change, you need to set the Update Displayed Variables option for the display icon that contains the variable.


Adding text to put an expression in context

1.	Position the cursor either before or after the braces that enclose the expression.

2.	Type the text you want to add.

For example, if you want to display the percentage of the responses a student got right on the first try, the result could look like this:

You got {FirstTryCorrect/JudgedInteractions}% of the questions you answered right on the first try.


Using numbers in an expression

Use the minus sign (-) to indicate negative numbers and a period as the decimal point. Don't use commas or periods to separate numbers in the thousands or millions range, and don't use monetary signs (such as $, #, or ´) or scientific notation.


Using character strings in an expression

Place character strings between quotation marks to distinguish them from variable names, function names, and operators.

Quotation marks

To use quotation marks in a character string, type a backslash (\) before the quotation marks. The backslash tells Authorware to use the quotation mark literally. For example,

"He replied, \"I'm ready to begin now.\""

becomes

He replied, "I'm ready to begin now."

Backslash

To include a backslash in a string, type it twice (\\). For example,

"The answer is \\a, e, i, o, u\\."

becomes

The answer is \a, e, i, o, u\.

In Windows use double backslashes to separate folder and file names in a character string. For example, in a character string you'd type

c:\Tutorial\Firstaid.a4p

as

c:\\Tutorial\\Firstaid.a4p

Tab

To include a tab in a character string, type \t. For example,

"Date \t Time \t Temperature \r 4/21 \t 06:03 \t 63F"

becomes

Date	Time	Temperature

4/21	06:03	63F

Carriage return

To include a carraige return in a character string, type \r. To include a line break, type \n, For example,

"Tyger! Tyger! Burning bright \rIn the forests of the night, \rWhat immortal had or eye \rCould frame thy fearful symmetry?"

becomes

Tyger! Tyger! Burning bright

In the forests of the night,

What immortal had or eye

Could frame thy fearful symmetry?"


Using constants in an expression

You can use the constants True and False. You can also substitute 1, On, or Yes for true; and 0, Off, or No for false.

For example, the following expressions are all equivalent:

SwitchStatus := True

SwitchStatus := 1

SwitchStatus := On

SwitchStatus := Yes

You can also use Enter and Tab in expressions. They're useful for formatting character strings.


Using comments in an expression

A comment is a brief note you add to an expression. Comments usually contain information about some aspect of the expression that isn't obvious from just looking at the expression. For example:

total := score1 + bonus--calculates raw score

To add a comment, type two hyphens (--) at the end of the expression and then the text of the comment. Authorware ignores everything after the two hyphens when it evaluates the expression.

You can also use comments anywhere in a calculation window.


Using operators in an expression

An operator is a symbol that stands for the action you want Authorware to perform on one or more values. For example, a plus sign (+) tells Authorware to add two values together. The concatenation operator (^) tells Authorware to fuse two strings of text into one: car^pet becomes carpet.

When there are two or more operators in an expression, Authorware doesn't necessarily take them in order from left to right. For instance, it carries out operations enclosed in parentheses before it goes to the operations outside the parentheses. Here's an example:

SovietUnion := (Russia+Lenin) - (Nicholas+Alexandra)

Authorware adds the values in Russia and Lenin and the values in Nicholas and Alexandra before it subtracts the sums. The last step it takes is to place the result in the variable SovietUnion.


Using custom variables and functions in libraries

Variables, functions, and expressions in libraries

For every library file you open, Authorware adds a new category to the Variables and Functions dialog boxes. The new category appears below the current filename and has the same name as the library file.

In the Variables and Functions dialog boxes, custom variables and functions appear in the category corresponding to the file or library in which they're used:

-	If a variable or function is used in library icons, it appears in the appropriate library category. Custom variables in the library have initial values. However, Authorware doesn't display a current value for them because the variables aren't actually used in the file.

-	If a variable or function is used in linked icons, it appears in the file category. When you link an icon to a library icon that contains a custom variable or function, and the file already contains a custom variable or function of the same name, the definition of the variable or function is taken from the file, not the library.

-	If a variable or function is used in both library and linked application icons, it appears in both the library and file categories.

Authorware doesn't rename variables or functions in libraries to make them unique.


Custom functions in DLLs and XCMDs

You obtain custom functions from software modules that contain the custom function you want.

•	On Windows computers, custom functions are in Dynamic Link Libraries (DLLs). DLL files remain separate from the piece.

DLLs on Windows computers-overview

DLLs weren't created for use by nonprogrammers. To help nonprogrammers when they use DLLs, Authorware supports a transparent extension to a DLL called a UCD (User Code). For 32-bit Windows, it has a U32 file name extension.

UCDs on Windows computers-overview

•	On the Macintosh, custom functions are in external commands (XCMDs) or external functions (XFCNs). (Both are commonly referred to as XCMDs.) XCMDs become part of the piece when it is packaged.

XCMDs on Macintosh computers-overview

Macromedia Technical Support doesn't help you write your own XCMDs and DLLs. Writing your own XCMDs and DLLS requires familiarity with programming and is outside the scope of Authorware. Fortunately, many DLLs and XCMDs already exist and are available from online services or from other Authorware developers.

Authorware requires certain information about a custom function to be able to load and use it. Many existing custom functions contain this information in a form that Authorware can already use.


DLLs on Windows computers-overview

Custom functions in DLLs and XCMDs

Authorware must have the following information about a function in a DLL before it can load it:

•	Where the function resides

•	The function's name

•	How many and which type of arguments the function takes

•	The type of arguments the function returns.

Authorware uses a standard format-known as a calling convention-for presenting this information. (When calling a function from within a C program, you would typically provide this information through function prototypes and the import library.)

Some DLLs already follow Authorware's calling conventions; others don't.

•	If a DLL doesn't conform to Authorware's calling conventions, you must manually provide the information about the function. When you load the DLL, Authorware prompts you for the information it needs.

Loading DLLs that don't follow Authorware conventions

•	If a DLL conforms to Authorware's calling conventions, the function information is embedded in the DLL and is automatically loaded from the DLL when you load the function into Authorware

Because files for DLLs are separate from the files that call them, they must be in the folders specified in the search path. If Authorware can't locate the custom function in any of these folders, it ignores the function and continues running the piece.

Always make sure that the folder containing DLLs is included in the search path.


UCDs on Windows computers-overview

Custom functions in DLLs and XCMDs

The UCD is a resource that the programmer uses to provide the needed calling information about the function. When you load a UCD, a list of its available functions appears. You can paste these functions into calculation icons the same way you paste Authorware's internal functions. You aren't prompted for information about the function.

When prompting you to locate a custom function file, Authorware automatically lists files that end with the extension DLL or UCD. Therefore, although DLLs can use any extension, it's best that they end with the extension DLL or UCD. (Use UCD for DLLs that contain a UCD resource.)


Custom function name formats

You can identify a function in one of three ways: by its original name, by a variable that contains the function name, or by a numeric identifier called the function's ordinal.

For example, a function named MessageBeep that has ordinal number 104 could be specified in one of these three forms:

•	MessageBeep()

When you use this form, Authorware looks for a function named MessageBeep and loads it with that name.

•	MyBeep = MessageBeep()

When you use this form, Authorware looks for a function named MessageBeep and names it MyBeep. This form is useful when the function's name is the same as that of a system or custom function already defined in the Authorware file.

•	MyBeep = @104()

When you use this form, Authorware looks for a function by its ordinal rather than by name. Within the Authorware file you would refer to the function as MyBeep. This form allows slightly faster access to the function when it is executed.

You can also rename a custom function in Authorware using the Functions dialog box in the Window menu.


Custom function argument list formats

You can enter a function's arguments as a list.

If the list has more than one argument, separate the arguments in the list with commas. You can list any number of arguments, but the number of arguments must match the number of arguments that the function accepts.

The following table shows the valid argument types:

Argument type	Meaning	Equivalent C or Windows type
char	signed byte	char
byte	unsigned byte	unsigned char, BYTE
short	signed integer	int, short, BOOL
word	unsigned integer	unsigned, HANDLE, HGLOBAL, HWND, UINT, WORD
long	signed long integer	Long, LONG
dword	unsigned long integer	unsigned long, DWORD
float	floating point	float
double	double-precision  floating point	double
pointer	far pointer	far, LPRECT, LPPOINT
string	far pointer to zero-terminated string	LPCSTR, LPSTR
void*	no arguments	void, VOID*
*Void signifies that the function accepts no arguments. Void must appear by itself in an argument list.

Internally, Authorware represents all variables and calculated values as signed long integers, double-precision floating point values, or zero-terminated strings. When a custom function is called, the arguments that appear in the expression are converted to the argument type required by the function, according to the rules in the following table:

Required argument type	Integer	Real	String
char, byte, short,  word	truncated	converted to integer and truncated	converted to integer and truncated
long, dword	unchanged	truncated to signed long integer	converted to signed long integer
float	converted to floating point value	truncated to floating point value	converted to floating point value
double	converted to double-precision floating point value	unchanged	converted to double-precision floating point value
pointer	unchanged	truncated to signed long integer	far pointer to string
string	far pointer to formatted string representation of value	far pointer to formatted string representation of value	far pointer to string
For the pointer argument type, integer values are passed directly. For the string argument type, the value is first converted to a zero-terminated string and then the string's address is passed to the function.

For example, suppose there is a function MyFunc, which requires a single string argument. When it is called with the expression MyFunc(123), Authorware first converts the integer 123 into the zero-terminated string "123" and then passes that string's address to MyFunc.


Custom function return type formats

The following table shows the valid return types:

Type	Meaning	Equivalent C or Windows type
char	signed byte	char
byte	unsigned byte	unsigned char, BYTE
short	signed integer	int, short, BOOL
word	unsigned integer	unsigned, HANDLE, HGLOBAL, HWND, UINT, WORD
long	signed long integer	long, LONG
dword	unsigned long integer	unsigned long, DWORD
float	floating point	float
double	double-precision  floating point	double
pointer	far pointer	far, LPRECT, LPPOINT
string	handle to zero-terminated string.	HANDLE containing a  zero-terminated string
void	no return value	void, VOID

The values that the function returns are converted to one of the function's types. The possible value types are converted as shown in the following table.

Function return type	Type of result
char, short	sign extended to long integer
byte, word	promoted to long integer without sign extension
long, dword	unchanged
float	promoted to double-precision floating point value
double	unchanged
pointer	cast to long integer
string	string


Return and argument types

DLLs on Windows computers-overview

Return and argument types are indicated by the single-character codes shown in the following table, which correspond directly to the return types described in Custom function return type formats. The return type must be one of these characters.

The arguments are specified as a list of characters, one character per argument, without intervening spaces or commas. The characters must be uppercase.

Character	Meaning
C	signed char
B	unsigned char
I	signed short integer
W	unsigned short integer
L	signed long integer
U	unsigned long integer
P	far pointer
F	floating point precision
D	double-precision floating point
S	handle to string (as return type) or far pointer to string (as argument)
V	void


XCMDs on Macintosh computers-overview

On the Macintosh, Authorware can use some XCMDs written for HyperCard. Prewritten XCMDs are available from numerous online services and are published in many publications about HyperCard.

If you use an XCMD that makes a call that Authorware doesn't support, a dialog box appears notifying you of a potential problem.

Note: Macromedia does not provide technical support for writing XCMDs. The only technical support Macromedia provides for XCMDs relates to loading them into an Authorware file.


Differences between XCMDs in Authorware and HyperCard

XCMDs on Macintosh computers-overview

Authorware differs from HyperCard in how it supports XCMDs:

•	The EvalExpr callback expects the expression to be in Authorware expression notation.

•	The GetFieldByName and SetFieldByName functions operate on Authorware global variables, ignoring the cardFld parameter.

•	Authorware does not implement the HyperCard XCMD callback functions shown in the following list. Most of these deal with names and ID numbers of cards, fields, and backgrounds, which are HyperCard constructs. Any XCMD that use these callbacks brings up an error dialog box stating the problem, and is returned with the XCmdBlock.result field set to 2 (resNotImp).

AbortScript	GetObjectScript	SendHCMessage
CountHandlers	GetStackCrawl	SetCheckPoints
FormatScript	GetVarInfo	SetFieldByID
GetCheckPoints	GetXResInfo	SetFieldByNum
GetFieldByID	GoScript	SetFieldTE
GetFieldByNum	HCWordBreakProc	SetObjectScript
GetFieldTE	PrintTEHandle	SetVarValue
GetFilePath	RunHandler	StackNameToNum
GetHandleInfo	SaveXWScript	StepScript
GetObjectName	SendCardMessage	TraceScript
•	Authorware doesn't send the following HyperCard XEvents:

xShowWatchInfoEvt	xDebugErrorEvt

xDebugStepEvt	xDebugTraceEvt

xDebugFinishedEvt

Even though Authorware stores XCMDs in the resource fork, you must initially load them using the load facilities while running Authorware. If the XCMD refers to any additional resources, you must copy them with a utility program such as ResEdit.

(To support file integrity and conversion to Windows, XCMDs are loaded into a separate file. When the piece is packaged, the piece and the loaded XCMDs are packaged into the same file.)

You can prevent the warning messages created by unimplemented and failed callbacks by setting the variables IgnoreXCMDNotImp and IgnoreXCMDFail to true.

When you add a resource to describe the XCMD and its parameters to the file that initially contains the XCMD, loading the XCMD also loads the description. This resource should be of type A4M with the same ID as the XCMD and be in the same format as an STR resource. This resource does not need to be copied to the application file's resource fork.


DLLs that don't follow Authorware conventions-overview

DLLs that don't follow Authorware's calling conventions require you to enter the following information for each function that you load:

•	The function's name

•	A list of arguments

•	The type of value that the function returns

•	A description of the function, if you want to include one.

You enter the information when Authorware prompts you for it after you load the function.


Loading DLLs that don't follow Authorware conventions

DLLs that don't follow Authorware conventions-overview

1.	Load the function.

Loading a custom function

2.	Enter the information about the function.

Type the function's name in the Function Name field.

Custom function name formats

Type the function's arguments in the Arguments field.
Separate the arguments with commas.

Custom function argument list formats

Type the function's return type in the Return field.

Custom function return type formats

Type an optional description in the Description field.

The following table shows which section to see for detailed explanations of what you can enter these fields.

3.	Click Load.


Using a sprite Xtra

Sprite Xtras-overview

1.	Place the Paste Hand where you want to insert the sprite icon.

A sprite icon is a unique instance of a sprite Xtra object.

2.	Choose an item from the sprite Xtra's submenu from the Insert menu.

When a sprite Xtra file is installed in the Xtras folder, its Xtras appear under a submenu in Authorware's Insert menu. Each item in the submenu is unique to that sprite Xtra. See Using an ActiveX control for an example of how to set up a specific sprite Xtra.

3.	Double-click the sprite icon.

See Sprite Xtra properties

4.	Set up the sprite icon's events.

Certain sprite Xtra objects can send events to Authorware. An event response interaction can be set up to respond to events generated by Xtra objects like ActiveX controls. See Setting up an event response for more information.

Show Me: QD3D and Active X.


Using an ActiveX control

ActiveX controls-overview

1.	Place the Paste Hand where you want to insert the ActiveX control.

2.	Choose Insert > Control > ActiveX.

3.	In the Select ActiveX Control dialog box, make your selection from the Control Description list.

4.	On the flowline, double-click the ActiveX icon to set it up.

See Sprite icon properties

5.	Set up the ActiveX events.

Certain ActiveX controls can send events to Authorware. An event response interaction can be set up to respond to events generated by ActiveX controls. See Setting up an event response for more information.

Show Me: ActiveX


Control

When the ActiveX Xtra is installed in the Xtras folder, the Control command is added to Authorware's Insert menu.


Using a scripting Xtra

Scripting Xtras-overview

Scripting Xtras are packages of custom functions. The functionality in scripting Xtras takes three different forms:

•	Global functions

Using a scripting Xtra global function

•	Parent object methods

Using a scripting Xtra parent object

•	Child objects methods

Using a scripting Xtra child object


Using a scripting Xtra global function

Global functions, parent and child objects

1.	Select the location where you want to use the function.

A function is most often placed in a calculation window.

2.	Choose Window > Functions.

3.	From the Category list, select the Xtra category that contains the function you want to use.

If you don't know which category it's in, select Xtras (All).

4.	Select the function from the list and then click Paste.

5.	In the parentheses following the function's name, insert the required information.

The arguments for Xtra functions may be listed and defined in the Functions dialog box, or in a Read Me file that the Xtra publisher may have supplied.


Using a scripting Xtra parent object

Global functions, parent and child objects

1.	Select the location where you want to use the Xtra.

Xtra methods are often called in a calculation window.

2.	Choose Window > Functions.

3.	From the Category list, select All.

4.	Select the CallParentObject function from the list and then click Paste.

See CallParentObject for information about calling parent object methods.

5.	Insert the CallParentObject arguments between the parentheses.

The arguments for CallParentObject are the Xtra's name, method, and the method's parameters.


Using a scripting Xtra child object

Global functions, parent and child objects

1.	Select the location where you want to use the Xtra.

Xtra methods are often called in a calculation window.

2.	Choose Window > Functions.

3.	From the Category list, select All.

4.	Select the NewObject function from the list and then click Paste.

See NewObject for information about creating child objects.

5.	Insert the Xtra's name between the parentheses.

6.	Select the CallObject function from the Functions window and then click Paste.

See CallObject for information about calling child object methods.


Authorware QuickStart templates

Whether you're a new or experienced author, you can use the Authorware QuickStart templates to quickly create a complete project. The templates are integrated so that when used together they create a project that can be used to log in users, deliver content, and quiz users based on the content. All navigation and flowline structures are included in the templates; all you need to do is add your content and set a few parameters. If you're an experienced author, you may benefit from examining the navigation and logic.

Each template has three complete looks-one designed for the corporate environment, one for schools, and one for consumer applications. All of the templates are designed for a display resolution of 640 x 480 pixels or 600 x 400 pixels (for use in a web browser) at 256 colors, and can be distributed for use in Windows and on the Macintosh.

The Authorware QuickStart templates are listed on the Paste Model submenu (Insert > Paste Model). For information about using them, see Chapter Three, "Authorware QuickStart Templates," in Authorware 4 Interactive Studio Getting Started.


Corporate look


Educational look


Consumer look


Icon palette overview

	The icon palette contains 13 icons you can use to create Authorware pieces. Drag icons from the icon palette onto the flowline to produce a sequence of actions that Authorware carries out. You can also use sprite icons if you have installed Xtras functions in your Authorware Xtras folder. Xtras are custom modules that can provide added functionality to a piece. (The sprite icon doesn't appear on the icon palette.) For more information see, Sprite icon. Click the icons on the palette for information about each icon.


 Display icon

Use the display icon to display text and graphics. Drag a display icon onto the flowline and then add graphics and text to it in the Presentation window.

To add contents to a display icon's Presentation window, use the Toolbox to draw objects, use the File > Import command to import images, or drag and drop text or graphics files into the display icon.

To modify the display and layout of a display icon, select the icon in the flowline and choose Modify > Icon > Properties . The Display Icon Properties dialog box appears.

Tip:  To keep previously displayed items in the Presentation window when you open a display icon, hold down the Shift key while you double-click the icon.


Display Icon Properties

Use the Display Icon Properties command to change the properties of a display icon. For example, you can change the layering, transition, and position of objects in the Presentation window. When you open the Display Icon Properties dialog box, Authorware opens the Presentation window behind it. You can then directly move, change, and view objects as you change property options.

Click an option in the dialog box for more information:

Preview

The preview box shows a thumbnail-size representation of a display icon's contents.


Common options, Icon Properties dialog box

Icon information

This part of the dialog box shows the following reference information about the icon.

•	ID-shows a unique ID number assigned to the icon.

•	Size-shows the icon's size.

•	Mod-shows the last time the icon was modified.

•	Ref by Name-shows whether any referenced variables refer to the icon. If there are such references, Authorware displays "Yes," otherwise, it displays "No."

Note: Check the reference name information when you modify an existing piece to make sure that you don't delete referenced icons. Choose Modify > Icon > Connections for details about references to the icon.

Icon symbol

Displays an image of the selected icon.

Name

Use the Name field to name icons. Icon titles can include spaces. While you're developing your piece, use meaningful names when you have many icons to work with.

When you change the name in this field, the icon's title on the flowline changes and vice versa.

Use Find and replace functions to search for and change icon names.

Note: In the following cases, the icon name affects the display or the functionality of Authorware:

•	Button responses

•	Text entry responses

•	Pull-down menu responses

•	Conditional responses

•	Icons referenced by a function

•	keypress responses


Display tab

Open

Click Open to open the Presentation window, displaying the content of the current icon. The Properties dialog box closes, keeping your changes.

Status

The status line displays a message or prompt that provides information about the next action or procedure you're performing. The status line changes depending on your selections in the dialog box.

Layer

Use the Layer field to set up the selected icon's layer position. The layer position determines the icon's position from back to front relative to other objects on the screen.

Authorware places icon content in the rearmost layer, layer number 0, by default. Objects with higher layer numbers appear in front of objects with lower layer numbers. You can change the layer of an object by using a variable in the Layer field.

Tip:  If you notice jerky motion at the beginning of an animation, try setting that object's layer level higher than 0. Note that performance may degrade if too many objects are in layers greater than 0.

Note: The layer field also works with internally stored digital movies to make them appear in front of or behind other objects.  External movies and ActiveX controls always play in front of everything else. The lowest value a movie or ActiveX control layer can have is 1; if you assign a value less than 1, Authorware moves it to layer 1.

Update Displayed Variables

Turn on Update Displayed Variables to update the values of variables embedded in text objects whenever the values change.

To embed a variable, create a text object and enter the variable surrounded by brackets; for example {Time}. You can use this option to display information that changes throughout a piece, such as the user's score or the time.

Note: Updating text objects continually can slow down performance.

Show me: Variable

Exclude Text from Search

Turn on Exclude Text from Search to exclude the icon from a text search initiated by the user. This option excludes text in all the icon's text objects.

Prevent Automatic Erase

Turn on Prevent Automatic Erase to prevent objects from being erased by the automatic erase options set for other icons. For example, this setting overrides the setting defined in a result icon's Erase option. The only way to remove an image or object protected by this option is to use an erase icon.

Erase Previous Content

Turn on Erase Previous Content to erase all objects placed on screen from previously display icons. When you select this option, Authorware erases all objects (on the same or lower layer) before displaying the contents of the current display icon.

Direct to Screen

Turn on Direct to Screen to display objects in front of any other objects on the screen. Turn off Direct to Screen to assign the icon contents to a layer other than the frontmost one.


Layout tab

Positioning

Use the following Positioning options to determine where an object appears when it is displayed.

•	No Change-The object always appears in the same location as currently placed. Disables all fields except Movable.

•	On Screen-The object can appear anywhere on screen but must remain entirely on screen. Enter coordinates or variables in the Initial fields. The coordinates are always screen coordinates.

•	On Path-The object appears at a point somewhere between the begin and end points of a path. To use this option, use the Base and End options to specify the path. To create a path, click the Base button and drag the marker to a location. Click the End button and drag the marker to the path's endpoint. A line appears to indicate the path. You can use an expression to position the object along the path. The coordinates are always path coordinates.

•	In Area-Positions the object at some point within an area you define. To create an area, click the Base button and drag the marker to a location. Click the End button and drag the marker to another position that defines a rectangle. A rectangle appears to indicate the area. You can use an expression to position the object in the area. The coordinates are always coordinates within the defined area.

When you choose the In Area option, Authorware places the object in an area based on the values (or the variables) in the two Initial fields. The coordinates are always area coordinates.

Show me: Slider and Move

Movable

Use the following Movable options to specify whether a user can move an object, and if so, within what bounds:

•	Never-The user can't move the object.

•	On Screen-The user can move the object anywhere on screen as long as it remains entirely on screen.

•	Anywhere-The user can move the object anywhere, including off the screen.

•	On Path-The user can move an object only to points along a defined path. Available only if the Positioning option is set to On Path.

•	In Area-The user can move an object only to points within an area. Available only if the Positioning option is set to In Area.

Show me: Slider and MoveX-Y positions

The options that appear for the x and y positions of objects change depending on the type of positioning you've chosen in the Positioning option.

You can enter position coordinates in the fields to locate the object on screen. You can use variables in the fields to have Authorware calculate locations and position objects.

The Initial x-y coordinates options show the initial position of the object on the screen, within an area, or along a path.

Use the Base and End coordinates to define an area in which the object should appear or a path that the object should appear on.

When defining an area, the Base and End x and y coordinates define two diagonal corners of a rectangle. When defining a path, the Base x and y coordinates define the starting point of a straight line, and the End coordinates define the end.

To set the Base coordinates for an area, click the Base button and drag the object to a location on screen. To set the End coordinates, click the End button and drag the object to another location.

Show me: Slider


 Motion icon

Use motion icons to move display objects from one location on the screen to another.

First place a display icon on the flowline. Next place a motion icon after it. Then define the motion of the display objects in the Motion Icon Properties dialog box. All the display objects in that icon move together. You can also move movies playing on the screen this way.

Double-click the motion icon in the Design window to open the Motion Icon Properties dialog box. Here you can set type of motion, timing, and other options. You can also preview the type of motion you've set up by clicking the Preview button in the dialog box.

Show Me: Move


Variables related to motion icons

The following system variables are particularly useful when working with motion icons:

•	Animating-Indicates whether a specific icon is being moved by a motion icon.

•	Moving-Indicates whether the display in a specific icon is being moved by a motion icon or dragged by the user.

•	DisplayX, Display Y-Specifies the position of the display or movie in the icon's Presentation window.

•	PathPosition-Specifies the position of a display object on a path.

•	Position X, Position Y-Specifies the horizontal and vertical positions of the display object if it has been moved in an area.

Show me: Move


Motion Icon Properties

When you open the Motion Icon Properties dialog box, the Presentation window opens behind it. You can then drag the objects in the Presentation window to specify how they move.

There are five motion types: three types that move the object directly to its new location and two types that move the object along a path.

•	Direct to Point-Moves an object in a straight line from its current location to its destination.

•	Direct to Line-Moves an object from its location to a calculated point on a line.

•	Direct to Grid-Moves an object from its location to a calculated point on a grid.

•	Path to End-Moves an object from its location along a path to the end point of the path. The path can consist of straight and curved segments. For more information about creating paths, see Creating paths.

•	Path to Point-Use the Path to Point options to move an object from its location to a calculated point along a path. The path can consist of straight and curved segments.

The options in the dialog box vary depending on the motion type you specify.

Click an option in the dialog box for more information:


Motion tab

Click an option for more information:

Layer

Use the Layer field to specify the layer number for the motion icon. Authorware is preset to layer objects in the Presentation window in the order they appear on the flowline.

To make an object move in front of other objects, set the motion icon's layer number higher than that of other motion icons.

You can set a layer number by entering any positive or negative number or a variable or expression. (Leaving the Layer field blank assigns the animation a layer number of 0.) For example, if you enter 10 in the Layer field, Authorware moves the objects in front of other objects with a layer number less than 10. If two animations with the same layer number overlap, the animation that started last appears in front.

Tips:

•	Movies set with the Direct to Screen option always play in front of all other graphics.

•	The Layer option affects objects only while they're moving. If the object's motion stops, that object's layer value is reset to the one in the object's Properties dialog box; if no layer is set there, Authorware resets the layer to zero.

•	Pay attention to the drawing mode assigned to objects you want to move. If an object's drawing mode is set to transparent instead of opaque, other objects will show through as the object moves over them.

Timing

Use the Timing field to specify the number of seconds it takes to move the object, given the timing option you select (Rate or Time). You can enter a number, such as 3, 1.75, or 10, or a variable or expression.

•	Rate-Moves an object at a set rate specified in seconds per inch. Select this option to move the object an inch (about 72 pixels) during the amount of time entered in the Rate field. For example, if you enter 10 in the Rate field, the object moves about an inch every 10 seconds.

Use the Rate option to make sure that an object moves at a controlled speed, regardless of the distance it moves. Controlling the speed can be important when you're synchronizing the motion of several objects or when you're moving objects relative to each other. For example, an object set to move at a rate of 1 inch every 4 seconds will move twice as fast as one set to 1 inch every 8 seconds.

Time-Use this option to specify how long it takes the object to complete its motion. For example, if you enter 10 in the Rate field, the motion takes 10 seconds, regardless of distance moved.

Concurrency

Use the Concurrency options to specify when Authorware executes the next icon in the flowline. You can have Authorware wait until the current motion icon is finished, or have other icons execute while the motion is in progress.

•	Wait Until Done-Waits until Authorware finishes moving the object before proceeding to the next icon on the flowline.

•	Concurrent-Immediately executes the icons that follow the motion icon, so that their contents appear while Authorware is moving the object. This option is useful for moving two or more objects simultaneously or for playing a sound while moving an object.

•	Perpetual-Continues monitoring the value of the Variable/Expression field for the object after Authorware completes the motion. If the value changes later, Authorware moves the object to the new location.

When you choose Perpetual, Authorware continues to position the object until it is erased or until another motion icon takes control of it.

Note: The Perpetual option is not available for the Direct to Point motion type.

Beyond Range (applies to Direct to Line, Direct to Grid, and Path to Point)

The following options control what happens if the results of a variable or expression in the Destination field place the object outside a defined range.

•	Stop at Ends-Moves the object to a point on the line, grid, or path nearest the calculated value.

•	Loop-Moves the object to a point on the line, grid, or path by calculating how far the variable's or expression's value exceeds the range and using that value to place the object in the range starting over from the starting point, effectively creating a loop.

•	Go Past Ends-Moves the object to the calculated location, even if the location is off the line or grid.

Move When (applies to Path to End)

Use the Move When field to set a condition to specify whether an object should move. Authorware moves the object only when the condition is true; when it's false, Authorware ignores the motion icon. If you leave this field empty, Authorware moves the object only when it first encounters the icon.

If the condition remains true at the end of the motion, when the object has reached the path's end point, Authorware repeats the motion. If the condition is false, Authorware does not repeat it.


Layout tab (Motion Icon Properties dialog box)
Layout tab

The Layout tab includes the following options:

Object

The Object field shows the name of the object that is being moved.

Base, Destination, and End

Use these options to define the line, grid, or path upon which the object should move. You define values by dragging the object, entering values, or entering variables or expressions to calculate values. To provide scaled fractional values, enter 0 as the Base value and 1 as the End value.

Note: These options are available in different combinations depending on the motion type selected.

Undo and Delete (applies to Path to End, Path to Point)

Use Undo to reverse the last change you made to a point on the path. Use Delete to delete the selected point.


 Erase icon

Use the erase icon to erase any icon that's currently displayed. You can erase the objects displayed by the display, interaction, framework, and movie icons.

When you erase an icon, you erase all its contents. For example, if a display icon contains three graphic objects, Authorware erases all three objects. If you want to erase just one of those objects, place it in a separate display icon, so it appears as a separate object in the Presentation window.

To open the Erase Icon Properties dialog box, double-click the erase icon.


Erase Icon Properties

When you open the Erase Icon Properties dialog box, Authorware opens the Presentation window behind the dialog box so you can select the objects you want to erase.

Click an option in the dialog box for more information:

Preview button

Click Preview to erase the objects in the Presentation window using the transition you've selected.


Erase tab (Erase Icon Properties dialog box)

Status

Transition

Prevent Cross Fade

Preview

The preview box is blank for the erase icon.

Transition

The Transition field shows the transition that Authorware uses when it erases the selected objects.

Click the Transition button to select a transition. The Transition dialog box appears.

Prevent Cross Fade

Turn on Prevent Cross Fade to erase the selected objects completely before displaying the next icon. If you don't select this option, Authorware erases the currently displayed objects as it displays the next icon's objects.


Icons tab (Erase Icon Properties dialog box)

Icons to Erase and Preserve

Use the following options to select objects that should be erased and those that should be kept on screen. A list of icons appears in the dialog box. Select icons names in this list to erase or keep.

•	Icons to Erase-Click Icons to Erase to select icons in the list that you want erased from screen.

•	Icons to Preserve-Click Icons to Preserve to select icons in the list that you want to keep on the screen.

Tip: Use the Icons to Preserve option when the Presentation window contains so many objects that it's easier to select what to keep than to select many icons to be erased. Icons selected in the list are not  erased.

•	Remove-Click Remove to remove the selected icon from the list. If you chose the Icons to Preserve option, clicking Remove removes the selected icon from the list of displays not  to be erased.


 Wait icon

Use the wait icon to pause the piece for a specified amount of time or until the user presses a key or clicks the mouse.

Double-click the wait icon to open the Wait Icon Properties dialog box.

Tip: When synchronizing sounds within a piece, don't use the Wait icon. See Synchronizing sounds

Show Me: AV sync


Wait Icon Properties

Use the Wait Icon Properties dialog box to specify the type of event, such as a mouse click or keypress, that the icon waits to respond to. You can specify whether the wait icon should wait for a certain length of time before continuing on with the flowline and can display a countdown of the time. You can also display the wait button on screen.

Note: Authorware doesn't automatically open a new wait icon the first time it encounters the icon on the flowline. However, if you display the clock icon by choosing the Show Countdown option, you can open the wait icon during presentation by double-clicking the clock icon.

Click an option in the dialog box for more information:

Preview

The Preview box shows the wait button and countdown clock, if selected.

Events

Use the following Events options to specify the action the user must take to continue with the piece.

•	Mouse Click-Continues when the user presses the mouse button.

•	Key Press-Continues when the user presses any key on the keyboard.

Time Limit

In the Time Limit field enter the number of seconds that you want Authorware to pause before continuing to the next icon.

To make the amount of time depend on a variable, enter a variable or expression in the field instead of a number. For example, you can enter a custom variable in the Time Limit fields of your wait icons and then set the value of the variable to make the icon pauses all the same length. Instead of changing the time limit in each wait icon individually, you can change the value of the custom variable.

Common Icon Properties dialog box options

Options

You can use the following options with a wait icon:

•	Show Countdown-Displays a small alarm clock that shows time running out for the time limit you specify in the Time Limit field.

Tip: You can move the clock while running the piece without pausing-just drag it to a new location. Double-click the clock to display the Wait Icon Properties dialog box.

•	Show Button-Displays a button the user must click to continue. The default label is Continue. Choose Modify > File > Properties to assign another label to the wait button using the File Properties dialog box.

When you place a new wait icon on the flowline, its button (if you choose to show it) automatically appears where you last positioned a button.

Tip: You can reposition a wait button while running a piece. Choose Pause from the Control menu to pause the piece temporarily, and drag the wait button to a new location. Positioning buttons while running the piece makes it easy to standardize the placement of wait buttons throughout the file.


 Navigate icon

Icons attached to framework icons are called pages. You can use navigate icons to create links that jump to specific pages in a framework. When Authorware encounters a navigate icon, it goes to the page you set up as a destination.

When you define a navigation link, you define the type of destination, such as going forward or backward a page, jumping to a page, searching for text, or jumping to the first or last page of a framework. Double-click a Navigate icon to open the Navigate Icon Properties dialog box where you can select destination options.

You can use navigate icons in two ways

•	Automatic navigation-Places a navigate icon anywhere on the flowline. When Authorware encounters the navigate icon, it automatically executes the link and goes to the destination page.

•	Navigation controlled by the user-Attaches one or more navigate icons to an interaction icon to create a navigation framework. The interaction icon can be on the main flowline or in the entry pane of a framework icon. For each navigate icon you attach to an interaction icon, you can set up a navigation control (such as a button) that takes the user to a destination page.

For more information about navigation frameworks, see Framework icon.

You can also use navigation styles to set up hyperlinks by creating hot text. When the user clicks the hot text, Authorware executes the hyperlink and goes to a destination. For more information, see Define Styles.

Show Me: Help, Hot Text, Nav Page, and Subroutine


Variables and functions related to navigate icons

The following variables and functions are useful when you are working with navigation.

Variables

•	Navigating-Indicates whether a jump or call is underway.

•	NavTo-Indicates which page initiated a call or jump.

•	NavFrom-Indicates which page is the destination of a call or jump.

•	CallStackText-Lists the connections between two icons set up as a call.

•	CalledFrom-Indicates the ID of the icon that's the origin of a call to the specified icon.

•	CurrentPageID-Indicates the icon ID of the last page displayed that's attached to a specified framework icon.

•	CurrentPageNum-Indicates the order in which the current page is attached to the specified framework icon.

•	MatchCount-Indicates the number of times FindText found a particular word or phrase.

•	PageCount-Indicates the number of pages attached to the specified framework icon.

Functions

The following Framework category functions mostly perform tasks associated with text searches and displaying the pages the user has seen:

•	FindText-Searches for specified text; you can limit the search.

•	GetTextContaining-Returns the word or phrase in a particular match located by FindText; it can also return some context for the match.

•	PageFoundID-With FindText, finds the ID of the icon that contains a match.

•	PageFoundTitle-With FindText, finds the title of the icon that contains a match.

•	PageHistoryID-Returns the ID of the nth previously displayed page.

•	PageHistoryTitle-Returns the title of the nth previously displayed page.

•	PurgePageHistory-Erases the page history.

•	PageContaining-Returns the icon ID of the specified page's parent.


Navigate Icon Properties

Use the Navigate Icon Properties dialog box to select a destination type for the navigate icon.

Note: When you first drag a navigate icon to the flowline, it's given the title "Unlinked," and the symbol is a small empty triangle. After you set up the navigation link, Authorware automatically changes the navigate icon symbol and title in the flowline to reflect the type of navigation selected.

Dialog box options

Common options, Icon Properties dialog box

Preview

The Preview box is blank for the navigate icon.

Navigate icon symbol

When you select a destination for a navigate icon, Authorware displays a symbol on the icon to indicate the kind of navigation link you've selected. The following table shows which type of link each symbol corresponds to:

The other options in the dialog box change depending on the type of Destination you select. Click a destination type for more information:

•	Recent-Lets users backtrack.

•	Nearby-Navigates between the pages in a framework and exits the framework.

•	Anywhere-Goes to any page attached to any framework icon.

•	Calculate-Sets up an expression that returns an icon ID. When Authorware encounters the navigate icon, it goes to the page that corresponds to the icon ID returned by the expression.

•	Search-Lets users search for pages that contain a word they specify.


Recent (Navigate icon properties dialog box)
Recent

Use the following Recent options to set up navigation links to pages the user has already seen, so that the user can backtrack:

•	Go Back-Sets up a navigation link to the page the user viewed before the current page so that the user can go back one page at a time.

•	List Recent Pages-Displays a dialog box that lists the pages the user has viewed, with the most recent one on top. When the user clicks a page title, Authorware goes to that page.

Tip:  Choose descriptive titles for the pages in your piece to help guide the user to the pages they want to see.

Customizing the Recent dialog box

You can change certain aspects of the Recent dialog box, including:

•	The title

•	The number of pages listed

•	Whether the dialog box closes when the user selects a page to go to

To customize the Recent dialog box, choose Modify > File > Navigation Setup. For more information, see Navigation Setup.


Nearby (Navigate icon properties dialog box)
Nearby

Use the following Nearby options to set up links between pages within a navigation framework or links that exit the framework:

•	Previous-Sets up a link to the page previous to (icon to immediate left) the current page.

•	Next-Sets up a link to the page following the (icon to immediate right) current page.

•	First-Sets up a link to the first page (icon on the far left) of the current framework.

•	Last-Sets up a link to the last page (icon on the far right) of the current framework.

•	Exit Framework/Return-Sets up a link that exits the framework.

Note: You can set up a navigation link with the Call and Return option that has a page in a framework as a destination. By employing the Exit Framework/Return option in the framework page, you can have Authorware return to the origin of the Call and Return link when it exits the framework.


Anywhere (Navigate icon properties dialog box)
Anywhere

Use the following Anywhere options to set up a link to any page within a framework icon in the piece.

•	Jump to Page-Sets up a one-way navigation link.

•	Call and Return-Sets up a round-trip navigation link.

When you create an Anywhere navigation link, the default title is Unlinked. When you select a destination page, the icon title changes to the destination page title. If that destination page is later deleted, the symbol on the navigate icon disappears and its title changes back to Unlinked.

You can select a destination page in two ways:

•	Page-Displays the titles of framework icons. You can

−	Select a framework title to display the pages attached to that framework icon. Click a page to create a navigation link to it.

−	Select the Entire File option to display the titles of all the framework icons in the order in which they appear on the flowline. Click a page to create a navigation link to it.

•	Find-Searches for a word, phrase, or keyword in the page you want to find.

Click Find to search for the word or phrase you enter. Where Authorware searches depends on whether you selected a framework from the Page list or the Entire File option. You can further limit the scope of the search by selecting one of the following options.

−	Word-searches text contained in the text objects in the pages.

−	Keyword-searches for keywords attached to the pages. For more information about keywords, see Keywords.

Authorware displays a list of the pages that contain the word you specified. Click a page to create a navigation link to it.


Calculate (Navigate icon properties dialog box)
Calculate

Use the Calculate option to set up a link to a page specified by a user's interaction with the piece. With the calculation destination, Authorware evaluates an expression that returns the ID number of a specific page. It then goes to that page.

•	Jump to Page-Sets up a one-way navigation link.

•	Call and Return-Sets up a round-trip navigation link.

•	Icon Expression-Enter the expression that will returns an icon ID in this field.

To set up destination, enter an expression in the Icon Expression box that returns the icon ID of a desired destination page.


Search (Navigate icon properties dialog box)
Search

Use the Search option to display a Find dialog box for users. When the user enters a word and clicks Find, Authorware displays a list of pages that contain the word. When the user clicks a page, Authorware goes to that page and highlights the searched word.

Note: Users can continue what they're doing as Authorware searches, although the system may respond more slowly. Searches are also slower if you define the scope of the search as the entire file. During a search, the user can click the Pause button, which temporarily halts the search and changes the button's title to Resume. Clicking the Resume button restarts the search where it left off. Authorware also displays how much of the search is complete next to the Word field.

You can use the options associated with the Search destination type to:

•	Limit the scope of the search

•	Set up shortcuts for users, such as defining words that automatically go to a specific page without first displaying a list

•	Set up automatic searches for hot text

•	Display the found words by themselves or in the context of surrounding words

•	Jump to Page-Sets up a one-way navigation link.

•	Call and Return-Sets up a round-trip navigation link.

•	Search-Limits the scope of the search a user can initiate according to these options:

−	Current Framework-Limits the search to the framework the user is in.

−	Entire File-Allows users to search all frameworks in the file. Depending on the size of the file, searching the entire file can take fairly long. You may also want to limit the scope to keep users in a certain section of the file.

•	Consider-Further defines the scope of a search according to these options:

−	Keyword-Limits the search to keywords attached to the pages, within the scope you defined with the Search options. For more information, see Keywords .

−	Word-Limits the search to text in the text objects in pages, within the scope you defined with the Search options.

•	Preset Text-Use the Preset field to enter a word (or a variable containing a word) that you want to appear automatically in the Find dialog box when the user clicks the Find button. The user can change this word to look for other words, or click the Find button to start the search.

If you enter a word (rather than a variable) in the Preset field, enclose it in quotation marks ("word").

•	Options-Further defines search characteristics according to these options:

−	Search Immediately-Starts the search for the word you entered in the Preset Text field when the user clicks the Find button. If you enter a variable, such as WordClicked or HotTextClicked, Authorware immediately starts the search for the word or hot text when the user clicks it, without displaying the Find dialog box.

−	Show in Context-Displays the words that Authorware finds together with the words that surround it. The found word appears highlighted. If you select this option, the Find dialog box is larger. The search also takes longer. This option applies to text only, not to keyword searches.

Note: You can customize certain aspects of the Find dialog box that appear to users by using the Navigation Setup command (Modify > File > Navigation Setup). These aspects include:

•	The title of the Find dialog box and the heading for the list of found pages

•	The labels of prompts and buttons in the Find dialog box

•	Whether Authorware highlights found text, and in what color

•	Whether the dialog box closes when the user clicks a title and Authorware goes to the corresponding page.

•	Words to ignore


 Framework icon

The framework icon provides an easy way to set up navigation in an Authorware piece. A set of navigation controls is built into the framework icon so that users can move among the icons you've attached to it.

An icon attached to a framework icon is called a page. A page isn't limited to a display icon containing text and graphics. It can also be a digital movie, a sound, or an animation. In fact, if you use a map icon, you can make the page as complex as you want. It can contain an interaction, a decision, another framework icon with its own navigation structure, or any combination of icons you want to arrange on the flowline.

Use the Framework window to set up icons that Authorware executes when entering or exiting a navigation framework.

Show Me: Paging, Hot Text, Help, Nav Page, and Subroutine


Framework window

The framework window is divided into an entry pane and an exit pane.

When Authorware enters a framework icon, it executes any icons in the entry pane before going to the first page of the framework. As Authorware exits the framework, it executes icons in the exit pane.

Tip:  To adjust the relative sizes of the entry and exit panes, drag the black rectangle on the right side of the dividing line.

•	Entry pane-Use the entry pane to set up icons that should affect every page of the framework. The entry pane contains default navigation controls, and the buttons associated with those controls appear on every page.

You can delete the navigation controls, modify them, or add others to suit your needs. Double-click a response symbol in the Framework window to open the Button options for that response type. For more information, see About the default navigation controls.

You can also use the entry pane to add display icons that contain text or graphics, to add sounds or animations for every page, or to set up calculation icons that affect the entire framework. For example, you could set up a custom variable that collects information as the user goes through the pages.

•	Exit pane-Authorware normally erases any displayed objects and ends any perpetual interactions when it exits a navigation framework. You can use the exit pane to set up other events that you want to happen when Authorware exits the framework. For example, you could add an interaction that asks users if they really want to quit, or you could use a display icon to display a message. By embedding a variable in a display icon, you could also display information collected while the user was navigating within the framework, such as a score.

Tip: Set up the exit pane so that Authorware resets the values of any variables to their original values. In this way you can "clean up" after the user and always know the state and values of the piece.


The default navigation controls-overview

The entry pane contains an interaction icon with eight attached navigate icons that are preset as button response types. Authorware displays these buttons on every page attached to a framework icon. When a user clicks these buttons, Authorware executes the navigation links associated with each navigation control. Clicking the Next Page button, for example, takes the user to the next page.

Note: For each of the default navigation controls, the Perpetual option is selected and branching is set to Return.

You can delete any navigation controls you don't need and add others as necessary. If you like, you can save your modified controls as a model and then copy that model into other frameworks. You can also replace the default navigation controls with your own default controls, so that any new framework icons you add to the flowline contain your controls.


Erasing text and graphics when navigating between pages

The way that Authorware erases text and graphics when it goes between pages depends on how the navigation is set up.

•	If navigation is set up as a jump (a one-way trip), Authorware erases the current page as it displays the new page, using the transition you selected. Erasing the current page before displaying the next one ensures that users can display pages in any order.

•	If navigation is set up as a call (a round trip), Authorware displays the contents of the new page on top of the original page. When Authorware returns to the original page, it erases the contents of the destination page, revealing the original page.


Navigating between frameworks

When Authorware goes from one framework to another, it applies the settings in a framework's entry and exit panes to all nested frameworks, (for example, when a map icon with a framework is inside another framework icon).

When Authorware encounters a navigate icon that jumps out of one framework to a different framework, it first executes the information in the exit pane of the current framework. It then goes to the destination framework and executes its entry pane.

Authorware provides three variables that you can use in the entry or exit pane to identify whether Authorware is navigating to or from a page in the framework.

•	Navigating-Indicates whether a jump or call is under way.

•	NavTo-Indicates which page is the destination of a call or jump.

•	NavFrom-Indicates which page initiated a call or jump.


Variables and functions related to framework icons

The following system variables and functions are useful when working with framework icons and navigation.

Variables

•	CallStackText-Lists the connections between two icons set up as a call.

•	CalledFrom-Indicates the icon ID of the origin of a call.

•	CurrentPageID-Indicates the icon ID of the last page displayed within a framework icon.

•	CurrentPageNum-Indicates the page number of the current page in the specified framework icon.

•	MatchCount-Indicates the number of times FindText found a particular word or phrase.

•	PageCount-Indicates the number of pages attached to the specified framework icon.

Functions

The following Framework category functions mostly perform tasks associated with text searches and with displaying the pages the user has seen.

•	FindText-Searches for specified text; you can limit the search.

•	GetTextContaining-Returns the word or phrase in a particular match located by FindText; it can also return some context for the match.

•	PageFoundID-With FindText, determines the ID of the icon that contains a match.

•	PageFoundTitle-With FindText, determines the title of the icon that contains a match.

•	PageHistoryID-Returns the ID of the nth previously displayed page.

•	PageHistoryTitle-Returns the title of the nth previously displayed page.

•	PurgePageHistory-Erases the page history.

•	PageContaining-Returns the icon ID of the specified page's parent.


Framework Icon Properties

Use the Framework Icon Properties dialog box to view information about a framework.

Click an option in the dialog box for more information:

Preview

The Preview box shows a preview of the elements in the entry pane of the framework. Typically this includes a background graphic and buttons.

Open

Click Open to open the Framework window.

Page Transition

Click the transition button (...) to select a transition used when moving between pages. The Transitions dialog box appears.


 Decision icon

You set up a decision structure by attaching icons to a decision icon. When Authorware encounters a decision structure, it branches to a path according to the criteria you've defined.

When you set up a decision structure, you can define the following settings:

•	The Repeat setting-determines how many times Authorware loops through the decision icon.

•	The Branch setting-determines which icon Authorware branches to.

Double-click the decision icon to open the Decision Icon Properties dialog box and define these settings.

Show Me: Decision


Decision Icon Properties

Use the Decision Icon Properties dialog box to specify decision icon properties such as branching or setting time limits.

Click an option in the dialog box for more information:

Preview

The Preview box is blank for the decision icon.

Time Limit

The Time Limit field represents the number of seconds the user can spend within a decision structure. Enter a number, a variable, or an expression in the field. As soon as the specified time elapses, Authorware interrupts the current activity, exits the decision structure, and moves to the next icon on the main flowline.

Show Time Remaining

Turn on Show Time Remaining to display a small alarm clock that shows time running out, according to the time limit specified in the Time Limit field.

Note: Use the variable TimeExpired to determine whether Authorware stopped executing a decision structure because its time limit expired.

Repeat

Use the following Repeat options to set up the number of times Authorware loops back within a decision icon to determine whether it should branch again:

•	Fixed Number of Times-Repeats the decision structure according to a number, variable, or expression you enter. If the value is less than 1, no branching occurs and Authorware exits or bypasses the decision icon.

•	Until All Paths Used-Branches to all attached icons at least once before exiting the decision structure.

•	Until Click/Keypress-Executes the decision structure until the user presses a key or the mouse button. This option is useful for animations and other sequences that you want to repeat until the user stops them.

•	Until True-Evaluates a variable or expression that you enter each time Authorware encounters the decision icon. Authorware continues to loop through the decision structure as long as the result is false. When the result is true, Authorware exits the decision structure. For example, if you entered the variable VideoDone in this field, Authorware would continue executing the decision structure until the value of VideoDone changes to true (that is, when the current video sequence is finished playing).

•	Don't Repeat-Executes the decision structure just once, according to the Branch option you've selected. Authorware then exits the decision structure and moves to the next icon on the flowline.

Branch

Branch determines which icons Authorware branches to. The decision icon on the flowline contains a letter that identifies the type of branching you selected

•	Sequentially (S)-Selects the first path the first time Authorware encounters the decision icon, the second path the second time, and so on.

Tip: This option is useful when you need to alternate between two options. Authorware remembers which path was last presented and presents the other path the next time. You must turn off Reset Paths on Entry to use this feature.

•	Randomly to Any Path (A)-Randomly selects a path when Authorware encounters the decision icon. When you select this option, the branching is truly random; Authorware may repeatedly branch to one path and never branch to others.

•	Randomly to Unused Path (U)-Randomly selects an unused path when Authorware encounters the decision icon. Authorware won't branch to any path twice until it has branched to every other path. This option ensures that all paths are displayed once before repeating paths.

•	To Calculated Path (C)-Enter a variable or expression that calculates which path Authorware should branch to. The integer value of this variable or expression determines which icon is selected: if it equals 1, Authorware branches to the first path; if it equals 2, Authorware branches to the second path, and so on.

Reset Paths on Entry-Resets the values related to the paths Authorware has already executed. This option applies if you chose the Branch option Sequentially or Randomly to Unused Path, in which Authorware keeps track of paths it has executed. When you reset the paths, Authorware erases the information about paths already taken. This option is useful if you want to use a decision structure from different locations in a piece and you need to reset the branching each time.

You can also use the system function ReplaceSelection to reset the decision icon.


Decision Path Properties

Use the Decision Path Properties dialog box to edit the properties associated with a decision path. For example, you can display the contents of the attached icon or set up erasing or a pause.

This dialog box is available only for icons that are part of a decision branch. To display it, double-click the small decision symbol on the flowline or choose Modify > Icons > Decision Path Properties.

Click an option in the dialog box for more information:

Preview

The Preview box is blank for the decision path icon.

Erase Contents

Use the following Erase Contents options to specify when to erase the contents of the icon attached to the decision icon:

•	Before Next Selection-Erases the displayed objects before displaying the contents of the next icon.

Tip: To display a series of icons, erasing one before showing the next, attach all display icons to a decision icon, select the Branch/Sequentially option, and use this erase option.

•	Upon Exit-Leaves all the icon's objects on the screen until Authorware exits the decision structure. At that time, Authorware erases the objects.

•	Don't Erase-Leaves the icon's objects on the screen until you explicitly erase them with an erase icon.

Pause Before Branching

Select the Pause Before Branching option to display a wait button that the user must click to exit the attached icon.

Open

Click Open to close the Decision Path Properties dialog box (keeping any changes) and open the icon contained on the decision path. Authorware opens the icon's Presentation window (or the icon's Properties dialog box if there is no associated Presentation window).


Variables related to decision icons

The following variables are useful when working with decision icons:

•	AllSelected-Indicates whether every icon attached to the current decision icon has been selected.

•	PathCount-Indicates the number of icons attached to the current decision icon.

•	PathSelected-Indicates the number of the last path selected in the current decision.

•	RepCount-Indicates the number of times the current decision has been repeated.

•	SelectedEver-Indicates whether the current path of the decision icon has been previously selected.

•	TimesSelected-Indicates the number of times the last decision path has been selected.

•	TimeExpired-Indicates whether the time limit has expired.

•	TimeRemaining-Indicates the time remaining until the time limit expires.


 Interaction icon

Use interaction icons to set up interaction structures that consist of an interaction icon with result icons attached to it. Each result icon corresponds to a response that the user can make, such as clicking a button or entering text-or to an event, such as the number of tries the user made.

When Authorware encounters an interaction icon, it displays any text and graphic elements it finds, including buttons, hot spots, text entry fields, and so on defined by the response type symbols. Authorware then halts and waits for a response from the user. When a user responds, Authorware sends the response along the interaction flowline to see if it matches any of the target responses. If a match is found, Authorware branches to or executes the specified result icon.

You set up the responses you're looking for in the Response Type dialog box. Here you determine the user's response or the event by defining each result icon as a particular response type. When the user makes a response or the event occurs, Authorware branches to the corresponding result icon and displays its contents.

You set the characteristics of the interaction display using the Interaction Icon Properties dialog box. Here you can specify display options, such a layer level, transition, positioning, and when objects are erased.

Tip: Double-click an interaction icon on the flowline to open the Presentation window to edit the display contents.


Interaction Icon Properties

Use the Interaction Icon Properties dialog box to edit the properties associated with an interaction icon. You can set properties for erasing objects, select a type of erasing transition, specify a pause, and determine the look and position of the icon's objects.

Click an option in the dialog box for more information:

Preview

The Preview box shows a preview of the content of the interaction icon's display.


Interaction tab (Interaction Icon Properties dialog box)

Erase

Use the following Erase options to determine when Authorware erases the interaction display:

•	Upon Exit-Erases the interaction display when Authorware exits the interaction.

•	After Next Entry-Erases the interaction display as soon as Authorware displays the contents of a result icon. The interaction display reappears automatically if Authorware repeats the interaction.

•	Don't Erase-Leaves the interaction display on the screen until you erase it with an erase icon.

Note:  To determine when Authorware erases the contents of result icons, use the Erase option in the Response Properties dialog box for each response. (Double-click the response symbol on the flowline to display the Response Properties dialog box.)

Erase Transition

Use the Erase Transition option to determine how Authorware erases the interaction display. These transitions are the same as those available in the Transition dialog box.

Pause Before Exiting

Turn on Pause Before Exiting to set up a pause before Authorware exits the interaction. The pause gives the user time to see what's on the screen before continuing. To continue, the user presses any key or clicks a Continue button.

Show Button

If you chose Pause Before Exiting, selecting the Show Button option displays a wait button that the user clicks to continue the presentation.


Interaction Text Field Properties

Click the Text Field button to set up text entry boxes for the user. The Interaction Text Field Properties dialog box opens.

Click an option in the dialog box for more information:

Preview

The Preview box shows a preview of the selected text entry attributes.


Layout tab (Interaction Text Field Properties dialog box)

Size and Location

Use the Size and Location fields to define the size and location of the text entry area. Enter screen coordinate values or variables in the x and y fields. For instance, you could use the system variables ClickX and ClickY to create a text entry area that is displayed at the user's last click.

The Location values determine the placement of the top left corner of the text entry area. The Size values determine the width and height of the text entry area. You must set the values of any variables prior to the interaction.

You may want to experiment with the following variables:

•	CursorX, CursorY

•	DisplayX, DisplayY

•	PositionX, PositionY

•ινδοωΩιδτη HID_VAR_Window_variables

Character Limit

Use the Character Limit field to set the maximum number of characters the user can type in a text field. If the user types more characters, Authorware ignores the additional characters.

Note: The size of the text entry area also limits the amount of text a user can enter. If you leave the Character Limit field blank, the user can type as many characters as fit in the text entry field.

Auto Entry at Limit

Select the Auto Entry at Limit option to automatically record text when the user types the maximum amount of text. After the user types the maximum number of characters, Authorware acts as though the user had pressed the Enter key to record the entry.

Note: This option works only if you specify a maximum number of characters in the Character Limit option.


Interaction tab (Interaction Text Field Properties dialog box)

Action Keys

Use the Action Keys field to specify which key the user must press to complete the text entry and to have Authorware evaluate the response. You can use the "or" bar (|) to specify more than one action key. For example, you can enter Enter|Tab to specify the Enter or Tab keys as action keys.

Entry Marker

Turn on Entry Marker to display a small triangular marker that indicates to users where they should type. The marker automatically appears to the left of the text entry field. (A blinking cursor indicates where text will appear, regardless of the Entry Marker setting.)

Ignore Null Entries

Turn on Ignore Null Entries to have Authorware ignore the action key if the user presses it without typing anything.

Erase Entry on Exit

Turn on Erase Entry On Exit to erase the text the user entered when Authorware exits the interaction. If you deselect this option, the user's response remains on the screen until you erase it with an erase icon.


Text tab (Interaction Text Field Properties dialog box)

Text Options

Text Options

Use the text options to specify the look of text that user's type. You can select a font, font size, and style. You can also select a text color and the background color for the text box. Choose a mode to specify a display mode for the text object, such as opaque, which blocks the view of objects behind it, or transparent which lets objects show through.


 Calculation icon

Use calculation icons to execute expressions and scripts that change values in variables or that perform calculations in a piece. Insert calculation icons at any point on the flowline or attach them to other icons.

To create an expression for a calculation icon, double-click the icon to open the Calculation window. You can then enter expressions and scripts for if...then statements and repeat loops in the window. You can also insert comments to describe the expression.

Authorware usually executes all the statements in a calculation icon and then exits the icon. You can force Authorware to exit calculation icons by entering an Exit statement in an expression. If the calculation icon is attached to another icon, that icon is executed normally.

In most cases it's a matter of preference whether to place a calculation icon before another icon or whether to attach it. However, if you attach a calculation to a decision or interaction icon, Authorware executes the calculation repeatedly if the icon uses Try Again branching. If the calculation icon is before a decision or interaction icon, Authorware executes it only once.

Tip: While Authorware executes a calculation icon, no other processing takes place and Authorware doesn't respond to mouse clicks or key presses. For calculation icons that contain relatively simple calculations, this delay is imperceptible. However, calculation icons that contain complex repeat loops take longer to execute and may cause a noticeable delay.


Calculation Icon Properties

Use the Calculation Icon Properties dialog box to see an icon's functions, variables, and current value. Select a calculation icon and choose Modify > Icon > Properties (or press Option-Control and double-click the icon) to display the Calculation Icon Properties dialog box.

Dialog box options

Common options, Icon Properties dialog box

•	Functions-Shows the functions used by this calculation icon.

•	Variables-Shows the variables used by this calculation icon.

•	Current Value-Shows the value of a variable selected in the Variables list.


Calculation window

In the calculation window, enter the statements, calculations, expressions, functions, and scripts that you want Authorware to execute. You can also add comments to the calculation window.

If the calculation icon is attached to another icon, the title bar of the calculation window shows the other icon's title. You can change the look of the text in the window by choosing the Font and Size commands from the Text menu.

If you're typing a long line in a calculation window and you want to break it to make it easier to read, place a continuation character at the end of the first part of the line. For example:

uRecordsFolder := RecordsLocation^

Strip("][",Substr(IconTitle,Find("[",IconTitle),Find("]",IcontTitle)))

To create a continuation character, type Alt-Enter.

Tip: After you enter or change information in a calculation window, Authorware prompts you to save your changes when you close the window or run the piece. There are two shortcuts that bypass the Save dialog box:

•	To close the window and save changes, press the Enter key.

•	To close the window and cancel changes, press the Esc key.

Show Me: Script


Functions that exit calculation icons

When Authorware encounters certain functions, it immediately executes them and exits the calculation icon.

The following functions immediately exit a calculation icon:

•	GoTo

•	JumpFile, JumpFileReturn

•	JumpOut, JumpOutReturn

•	JumpPrintReturn

•	Quit

•	QuitRestart

•	Restart

•	Resume


 Map icon

Use map icons to group a sequence of icons. By grouping icons in map icons, you can organize your piece into convenient modules, which facilitates a clear overview of the piece's workings, no matter how many icons it contains. Place map icons anywhere on the flowline and attach them to interaction icons, decision icons, or framework icons. You can place map icons within other map icons.

Each map icon has its own flowline. Double-click a map icon to open it. A level caption appears in the upper right corner.

When Authorware encounters a map icon, it executes the map's icons in the order in which they appear on the flowline. When it finishes executing the last icon, Authorware exits the map icon and executes the next icon on the main flowline.

If the map icon is attached to an interaction icon, Authorware executes the entire contents of the map icon before branching to the next result icon. Authorware also executes the entire contents of the map icon when it is a path attached to a decision icon or pages attached to a framework icon.

To group icons into a map icon, the icons must be next to one another on the flowline. To create a map icon, select the icons, choose Modify > Group, and name the resulting map icon. To redisplay (or ungroup) the icons in a map icon, select the map icon and choose Modify > Ungroup.

Note:  If you attach a calculation icon to a map icon and then ungroup the map icon later, Authorware attaches the calculation icon to the first icon that was within the group.


Map Icon Properties

Use the Map Icon Properties dialog box to view a list of the map icons, starting with the top level flowline, and see the flowline path to this icon.

Common options, Icon Properties dialog box

Preview

Preview

The Preview box for map icons is always blank.


 Digital movie icon

Use digital movie icons to import digital movies created by other applications.

Use the Digital Movie Icon Properties dialog box to control the movie's properties, such as its positioning, the number of times it is played, and the speed at which it is played.

A digital movie is stored internally or externally, depending on the type of movie.

•	Internally stored movies are stored in the Authorware file, increasing the size of the file. You can use erase transitions with internally stored movies.

•	Externally stored movies are not stored in the Authorware file. You can't use erase transitions with externally stored QuickTime movies on the Macintosh or with MPEG or AVI movies on Windows systems. To use an erase transition on other types of external movies, select the Prevent Crossfade option in the Erase Icon Properties dialog box.

You must keep externally stored movies where Authorware can open them when it encounters movie icons on the flowline. You must distribute the files for externally stored movies along with your packaged Authorware piece.

Note: Authorware and RunA4W or RunA4M look for external movies in the directories set in the Search Path field of the File Properties dialog box, or in the SearchPath variable, or in the external filename stored in the Movie Icons Properties dialog box.

Tip:  To preview a movie, select the digital movie icon, choose Modify > Icon > Properties, and use the playback controls to run the movie.


Digital movie file types

You can use the following digital movie file types:

•	Macromedia Director files (DIR, DXR)-are stored externally. If the Director movie includes sequences in which users can interact with the movie, you can incorporate that interactivity into the Authorware file.

•	Microsoft Video for Windows (AVI) files-are stored externally. To use Video for Windows movies, make sure that the Video for Windows software is properly installed on your computer and on users' computers.

•	Macintosh QuickTime files-are stored externally. To use QuickTime movies on the Macintosh, make sure that the QuickTime extension is installed on your computer and on users' computers.

•	QuickTime for Windows (MOV) files-are stored externally. To use QuickTime for Windows movies, make sure that the QuickTime for Windows player software is properly installed on your computer and on users' computers.

•	PICS files loaded into Authorware for Macintosh-are stored internally when the file is converted to Authorware for Windows. PICS movies cannot be loaded in the Authorware for Windows Load Movie dialog box.

•	Autodesk Animator and Autodesk Animator Pro (FLC, FLI, CEL) files-are stored internally. You can only import these formats on a computer running Windows. These movies formats can be played back on both Windows and Macintosh computers.

•	MPEG files-are stored externally. MPEG technology integrates the compression of digital movies and synchronous audio. On a Windows computer, you need an MPEG playback card to view the movies. To load and playback MPEG movies on a Macintosh, you need System 7.1.2 or later version, QuickTime 2.5 and the QuickTime MPEG extension 1.0 or later versions, and Thread Manager 2.1.5 or later version installed on your computer. (You don't need a playback card.)

•	Bitmap Sequence files-consist of numbered sequences of .BMP files with the same filename root (Name0001 through Name000n). By selecting one file as the start frame, Authorware uses the remaining files with that filename to build a movie.

Show Me: Av Sync


Variables and functions related to digital movie icons

The following system variables and functions are useful when you are working with the digital movie icon:

Variables

•	MediaLength-Contains the number of frames in the specified digital movie.

•	MediaPlaying-Indicates whether the specified digital movie is playing.

•	MediaPosition-Contains the current frame of the specified digital movie.

•	MediaRate-Contains the frames-per-second play rate.

Functions

•	MediaPlay-Starts playing the specified digital movie. If the movie is already playing, the move is reset to its start frame and restarted.

•	MediaPause-Pauses a digital movie. If the movie is already paused the function has no effect.

•	MediaSeek-Starts the movie at a specified frame.

•	PreLoad-Loads a movie into memory so it is ready to play


Digital Movie Icon Properties

Double-click a digital movie icon to display its icon properties dialog box. When the dialog box appears, Authorware also opens the Presentation window behind it. This allows you to make changes in the Presentation window.

Click an option in the dialog box for more information:

Preview

This area previews the digital movie.

Playback controls

Play

Click Play to play the digital movie. The movie begins at the start or from the frame specified in the Start Frame field.

Step Forward and Step Back

Click Step Forward and Step Back to move through the digital movie one frame at a time.

Stop

Click stop to stop playing the digital movie.

Frame counter

The Frame counter information shows the current frame and the number of frames in the movie. It is continuously updated as a movie plays.

Import

Click Import to display the Import dialog box to select and import a movie.

Options

The Options button becomes active when you select a movie that's stored internally. Click Options to display the Movie Import Options dialog box.

•	Use Full Frames-Loads each complete frame of the movie, rather than just the parts of each frame that have changed from the previous frame. Loading complete frames takes more memory, but it's a good choice when you want to play the movie backward (the movie will usually play faster) or when you want to play the movie one frame at a time.

•	Use Black as the Transparent Color-If you select either Transparent or Matte as the display mode for the movie, selects black rather than white as the color that becomes transparent.


Movie tab (Digital Movie Icon Properties)

File field

Use the File Field to enter a movie's filename and path. You can enter an expression to specify the path and filename of an externally stored movie.

Storage

The Storage box identifies whether a digital movie is internal or external to the Authorware piece.

Layer

Use the Layer field to set up the selected digital movie's layer position. The layer position determines the movies position from back to front relative to other objects on the screen.

Authorware places icon content in the rearmost layer, layer number 0, by default. Objects with higher layer numbers appear in front of objects on lower layers. You can change the layer of an object by using a variable in the layer field.

External movies always play in front of other objects. You can change the layer position of Internal movies. The lowest layer level for a movie is 1. When you're playing several digital movies or animations at once and a digital movie is selected, the number (or variable) in the Layer Field controls which movie appears in front.

Mode

Use the following Mode options to control how the digital movie looks in relation to other objects on the screen. Modes work only with internally stored movies.

•	Opaque-Draws all frames completely, with no transparent pixels. The movie plays faster and takes up less space.

Note: External movies are always opaque.

•	Transparent-Allows other objects show through the movie's frames. For more information about setting up which color is transparent, see Setting display modes. By default, objects show through the white pixels for Macintosh Movie Editor and PICS movies and through the black pixels for Autodesk Animator movies.

•	Matted-Places an opaque matte behind the movie's frame. The shape of the matte for each frame matches the shape of the movie image. By default, white pixels are trimmed from the edge of the frames for Macintosh Movie Editor and PICS movies; black pixels are trimmed from the edge of the frames for Autodesk Animator movies. You can change these mattes from black to white pixels.

When you first select the Matted option, the message "Creating mattes" appears while Authorware builds the irregularly shaped mattes for each frame.

•	Inverse-Changes pixels in the movie frames from white to black and from black to white, as necessary to allow objects below to show through during playback. If a color movie is set against a colored background, this effect displays frames in the movie's inverse color (which can produce unexpected results).

Prevent Automatic Erase

Turn on Prevent Automatic Erase to prevent objects from being erased by the automatic erase options set for other icons. For example, this setting overrides the setting defined in a result icon's Erase option. The only way to remove an image or object protected by this option is to use an erase icon.

Erase Previous Content

Turn on Erase Previous Content to erase all objects placed on screen from previously display icons. When you select this option, Authorware erases all objects (on the same or lower layer) before displaying the contents of the current display icon.

Direct to Screen

Turn on Direct to Screen to always play the movie in front of any other objects on the screen. Turn off Direct to Screen if you want to assign a movie to a layer other than the one in front.

Note: Externally stored movies are always played direct to screen, in front of other objects.

Direct to Screen is available only when you've selected the Opaque mode.

Audio On

Turn on Audio On to play the sounds included in a movie file. If the type of movie you loaded doesn't support sound, this option is dimmed.

Use Movie Palette

Turn on Use Movie Palette to use the digital movie's color palette instead of the Authorware color palette. This option is not available for all movie formats.

Interactivity

Turn on Interactivity to allow users to interact with the Director movie-by clicking the mouse or pressing keys to continue for example.


Timing tab (Digital Movie Icon Properties)

Click an option for more information:

Concurrency

Use the following Concurrency options to control when the movie is played in relation to the other events in the piece:

•	Wait Until Done-Waits until the movie is finished playing before proceeding to the next icon on the flowline.

•	Concurrent-Plays the movie and immediately executes the icons after the digital movie icon so that other icons are executed while the movie plays.

•	Perpetual-Lets the user activate the movie after Authorware exits the digital movie icon. Authorware monitors the variables specified in the Digital Movie Icon Properties dialog box; if the values change, Authorware immediately adjusts the play of the movie icon accordingly.

For example, you could enter a custom variable in the Rate field to control a movie's playback speed. If you select the Perpetual option and the value of the variable changes, the playback of the movie speeds up or slows down to reflect the new value.

Play

Use the following Play options to control how the digital movie proceeds.

•	Repeatedly-Plays the movie over and over, until you either erase it or pause with the MediaPause function.

•	Fixed Number of Times-Set the number of times the movie plays. If you enter 0, Authorware displays only the first frame. You can enter a variable in this field.

•	Until True-Plays the movie repeatedly until the condition you enter in the field becomes true. For instance, if you enter the system variable MouseDown the movie plays repeatedly until the user presses the mouse button.

•	Only While In Motion-For PICS movies, places the movie's first frame on the screen but plays the movie only while it is being moved by a motion icon or dragged by the user. This option is useful for special effects such as simulating walking or jumping. For example, a figure's arms and legs could move during a digital movie while the user drags it. This option is not available for externally stored movies.

•	Times/Cycle-Limits the number of times the movie plays during each repetition of the animation. When you use the Times/Cycle option, Authorware adjusts movie playback speed to complete the indicated number of plays during each repetition of the animation.

For example, you could simulate the moon's orbit around the earth with a combination of a movie that shows the moon's rotation and a Path to End animation moving it along an orbital path.

You could then set the Times/Cycle rate to have the moon rotate a specific number of times during the trajectory of the orbital path.  This option is not available for externally stored movies.

Note:  You can use motion icons to move movies with all formats; however, externally stored movies and movies played direct to screen may not move smoothly.

•	Under User Control-For QuickTime movies, displays the movie controller on the user's screen so the user can freeze frames, back up, play slowly, and otherwise control the movie. The user can move the controller by dragging it.

This option is dimmed if you chose Concurrent from the Concurrency options. The button is also dimmed if the digital movie is not a QuickTime movie.

Rate

Use the Rate field to set the speed of an externally stored digital movie if its format supports adjustable speeds. To speed up or slow down the movie, enter a number, variable name, or expression that sets a speed.

If the speed is too fast to display all frames at the selected rate, Authorware skips frames to approximate the chosen speed, unless you've chosen the Play Every Frame option.

Play Every Frame

Turn on Play Every Frame to play a movie as fast as possible without skipping frames, but no faster than specified in the Rate field. Using this option may result in the movie playing at different speeds on different systems, but it generally yields the best results. This option is available for internally stored movies only.

Start Frame and End Frame

Use the Start Frame and End Frame fields to set the range of frames you want to play. When you first load a movie, the numbers of the first and last frames in the movie file appear in the Start Frame and End Frame fields. If you want to play only specific movie frames, enter frame numbers, or enter variables or expressions that result in frame numbers in these fields.

To play the movie backward, enter the higher frame number in the Start Frame field and the lower frame number in the End Frame field. You cannot play Director or MPEG movies backward. Authorware does not play the MIDI component of a QuickTime movie when you play the movie backward.


 Sound icon

Use sound icons to play sounds in your Authorware pieces. You can place sound icons anywhere in the file, load sounds from various sources, and adjust the playback options to suit your needs. You can import sounds and store them internally in a file, or store them externally and link them to your piece. Like other files, you can also drag and drop sound files onto the flowline of your piece.

Tip:  You can play a loaded sound without opening the sound icon. Click the sound icon with the right mouse button or press Control-Alt as you click the sound icon. Authorware plays the sound.

Macintosh users don't need special equipment to play sounds. To play sounds on Windows computers, users need Windows version 3.1 or later and an audio card. For more information, consult your Windows documentation.

Variables and functions related to the sound icon

Variables

•	MediaLength-Contains the number of milliseconds of the specified sound.

•	MediaPlaying-Indicates whether the specified sound is playing.

•	MediaPosition-Contains the current millisecond of the specified sound.

•	MediaRate-Contains the sound play rate.

•	SoundPlaying-Determines whether a sound is playing.

Functions

•	MediaPlay-Starts playing the specified sound.

•	MediaPause-Pauses a sound.

•	MediaSeek-Starts the sound at a specified millisecond.

•	PreLoad-Loads a sound into memory so it is ready to play

Show Me: AV Synch


Sound Icon Properties

Use the Sound Icon Properties dialog box to listen to a sound, and specify how and when a sound plays.

Click an option in the dialog box for more information:

Preview

The Preview box for sound icons shows the icon for the sound's file type. The Preview box is blank when no sound has been imported or the  expression in the File field does not resolve to a valid sound file.

Play and Stop

Play

Click Play to play a sound you have loaded, as defined by the other options you selected in the dialog box.

Note: Sounds may not play back if their format is not compatible with the sound card.

Stop

Click Stop to stop playing the sound.

Import

Click Import to select a sound to load into an Authorware piece. A file selection dialog box appears.

For more information about the types of files you can import, see Compatible file types.


Sound tab (Sound Icon Properties)

File

Use the File to view or enter a sound's filename and path that specifies it. You can enter an expression to identify the path and filename of externally stored sounds.

Storage

The Storage box identifies whether the sound is stored internally or externally to the Authorware piece.

Sound Information

•	File Size-Shows the file size of the sound.

•	File Format-Shows the sound's format (WAVE, AIFF, and so on)

•	Channels-Shows whether the sound includes one waveform (mono) or two waveforms (stereo). Stereo sounds are generally richer, but also use twice as much disk space.

•	Sample Size-Determines how much information is stored about the sound. The sample size, combined with the sample rate and the number of channels, determines the sound quality. The sample size can be either 8 bits per sample or 16 bits per sample; use the 16-bit option for higher-quality sound.

•	Sample Rate-Measures sound frequency at regular intervals. The higher this rate, the more intervals are captured and the higher the quality. The sample rate, combined with the sample size and the number of channels, determines the sound quality. The sample rate is measured in kilohertz (KHz).

•	Data Rate-Shows the rate at which Authorware reads the sound from the disk when it plays the sound. (The data rate is calculated with this formula: channels times sample size times sample rate.)


Timing tab (Sound Icon Properties)

Concurrency

Use the following Concurrency options to control when the sound plays in relation to the other events in the piece.

•	Wait Until Done-Waits until the sound is finished before proceeding to the next icon on the flowline.

•	Concurrent-Activates the sound and then displays the icons that follow the sound icon, so that the sound plays while the other icons appear. This feature is useful for playing a sound that accompanies an action on the screen.

•	Perpetual-Remains active after Authorware exits the sound icon. Authorware monitors the variables you specify in the Begin field. It plays the sound when the variable value become true.

Play

Use the following Play options and field to control how many times the sound is played:

•	Once-Plays the sound once.

•	Fixed Number of Times-Plays the sound a specific number of times. Type a number or variable or expression in the Play field.

•	Until True-If you select Perpetual from the Concurrency options and enter a variable or expression in the Play field below it, this option plays the sound until the variable or expression becomes true.

Rate

Use the Rate field to specify the speed at which the sound plays. The normal value (100%) plays the sound at its recorded speed; values less than 100% play it slower, and values greater than 100% play it faster. You can enter a number or variable in the field.

Note: On Windows computers, not all sound cards support variable-speed playback; all Macintosh computers support variable-speed playback.

Begin

Use the Begin field to specify when to begin the sound. Enter a variable or conditional expression in this field. When the variable or condition becomes true, Authorware begins playing the sound.

•	Wait for Previous Sound-Delays playing the current sound until the previous sound finishes playing.


 Video icon

Use the video icon to include a video clip from a videodisc player in an Authorware piece. To play the video, connect a videodisk player to your computer and then place a video icon in the Authorware file where you want the sequence to play.

Specify overlay drivers and players by choosing File > Preferences. For more information about those options, see Preferences.

Incorporating video displays in Authorware

You can incorporate video into Authorware in two ways:

•	Use an external monitor-Simply connect the video device to the computer and to the monitor. No special video overlay hardware is required.

•	Install a video overlay card-If you install an overlay card in your computer, you can display video on the same screen that displays the rest of your Authorware piece, so that you can integrate video sequences into the piece. For example, you might play video on one part of the screen while you ask the user questions about it on another part of the screen.

To use this option, you must install a video overlay card in each computer on which the piece will run and connect the video player to the overlay card and the computer's serial port. You also need to select other options, such as where the video will play on the screen.


Variables and functions related to video icons

The following variables and functions are useful when working with video icons:

Variables

•	VideoDone-Indicates whether the current video is finished playing.

•	VideoFrame-Contains the number of the frame being played.

•	VideoResponding-Indicates whether communication is established with the video device.

•	MediaLength-Contains the length of the specified video.

•	MediaPlaying-Indicates whether the specified video is playing.

•	MediaPosition-Contains the current position of the specified video.

•	MediaRate-Contains a play rate from (-5 to 5).

Functions

•	VideoChromaKey-Determines the chroma key of the video overlay device.

•	VideoDisplay-Turns the video display on and off.

•	VideoPause-Pauses the video.

•	VideoPlay-Plays the video to the specified frame at the specified speed.

•	VideoSeek-Moves the video to the specified frame.

•	VideoSend-Sends a message to the video player.

•	VideoSound-Controls the sound for a video sequence.

•	VideoSpeed-Sets the speed for the next video sequence to be played.

•	VideoStep-Moves the video backward or forward by a single frame.

•	VideoText-Shows text messages for video players that support a report generator.

•	MediaPause-Pauses a video clip that's playing. If the video is already paused, the function has no effect.

•	MediaPlay-Starts playing the specified video clip. If the video is already playing, it is reset to its start and starts again.

•	MediaSeek-Starts the video at the specified position.


Video Icon Properties

Use the Video Icon Properties dialog box to specify how the video runs in a piece. Double-click a video icon to display the dialog box.

When the Video Icon Property dialog box opens, Authorware opens the Presentation window behind it. This allows you to make changes in the Presentation window. The Video Controller also appears on screen.

Video controller

Use the video controller to run a video clip. There are nine playback controls (from left to right): Fast Reverse, Reverse, Slow Reverse, Frame Backward, Pause, Frame Forward, Slow Motion, Forward, Fast Forward.

The video controller opens automatically when the Video Icon Properties dialog box appears.

Click an option in the dialog box for more information:

Preview

The Preview box is blank for video icons.

Preview button

Click Preview to play the video sequence from the beginning or from the frame specified by the frame numbers in the Start Frame field. The video plays according the options selected in the Video Icon Properties dialog box.


Video tab (Video Icon Properties dialog box)
Video tab (Video Icon Properties)

Associated display

If you are using a video overlay card to display video on the computer screen, you need to associate the video with a display icon, so that Authorware knows where to overlay the video.

To associate a display icon with a video, add a display icon before the video icon on the flowline. Open the video icon and click the display object in the Presentation window. When you run the file, the video icon plays the video only when the display is on the screen. The video appears where the display icon shows an object that matches the chroma key color and is sized to the boundaries of the object.

For information about setting up the chroma key color, see Setting a chroma key color.

Freeze

Use the following Freeze options and field to specify whether and how long a frame remains on the video screen after the video is finished playing:

•	Never-Removes all video frames from the screen, either at the end of the sequence or when the user closes the controller.

•	Last Frame Shown-Continues to display the video frame last shown when the sequence stops playing or when the user closes the controller.

•	End Frame-Continues to display the frame specified in the End field. If the user closes the controller while another part of the sequence is playing, Authorware moves to the end frame and displays it.

•	Until-If you enter a condition in this field, continues to display the frame specified by a Freeze option until the condition becomes true. If you don't enter a condition, Authorware displays the specified frame until it encounters the next video icon or erases the associated display, or until the user exits the file.

User Control

Turn on User Control to display the video controller on the user's screen. The user can then control the video, freezing frames, backing up, and playing it slowly. The user can reposition the video controller by dragging it.

The User Control check box is dimmed if you've selected Concurrent from the Concurrency options.

Tip:  Users may not know how to operate the video controller. Be sure to give them instructions for using the buttons and for closing the controller.

Frame Numbers

Turn on Frame Numbers to display frame numbers on the user's screen.

Video

Turn on Video to display the video image either on the video screen or in the onscreen area if you're using an overlay. If you turn off this option, no image appears when you play the video; this is useful if you want to play just the video's sound on either or both audio channels.

Channel 1 and Channel 2

Turn on Channel 1 to play the sound on channel 1 of the video player; turn on Channel 2 to play the sound on channel 2. The sound channel usage may vary with each player or videodisk.


Timing tab (Video Icon Properties)
Timing tab (Video Icon Properties dialog box)

Concurrency

Use the following Concurrency options to control whether other icons are executed while the video is playing:

•	Wait Until Done-Waits until the video is finished playing to execute the next icons in the flowline. Previously started perpetual or concurrent actions continue while Authorware displays the video icon.

•	Concurrent-Continues executing icons while the video plays.

Rate

Use the Rate option to select one of five speed settings or pause the video. The speed you select applies whether the video is playing forward or backward.

Note: If you have turned on User Control, the user can override the playback speed you select here.

The numbers in parentheses correspond to the setting of the VideoSpeed system function.

Start Frame and End Frame

Use the Start Frame and End Frame fields to specify the range of frames you want to play. You can choose to play one frame or a series of frames. Video frames are numbered consecutively.

In the Start Frame field, set the first frame of the sequence. In the End Frame field set the last frame. You can enter a number, variable name, or expression in either field. If the number in the Start field is greater than the number in the End field, the video sequence plays in reverse. To display a single frame, enter that frame's number in both fields.

Set Start Frame and Set End Frame

 Click the Set Start Frame and Set End Frame buttons to select a range of frames to display. You can use these buttons as you display frames in the video. Click the straight arrow button next to either the Start Frame field or the End Frame field and put the number of the frame currently displayed in the field.

Jump to End and Jump to Start

 Click the curved arrow Jump to Start button to jump to the first frame in a range. Click the Jump to End button to jump to the final frame of a range.

Stop If

Use the Stop If field to set up a condition that specifies when to stop playing the video.

When you enter a condition in the Stop If field, the video stops when the condition becomes true, regardless of whether video has finished playing.

•	Key Press-Stops the video when the user presses any key on the keyboard.


 Sprite icon

A sprite is a functional element such as a 3D object, a Macromedia Flash animation, an HTML browser window, or a pop-up menu. Sprite Xtras make it possible to incorporate such sprites into an Authorware piece. When you place a sprite Xtra file in the Xtras folder and then start Authorware, the Xtra file adds a command to the Insert menu. For example, the QuickDraw 3D Xtra adds the command ThreeD to the Insert menu.

Each sprite Xtra has both a menu category and a name. The menu category appears on the Insert menu, and the name appears on the submenu. In the case of the QuickDraw 3D Xtra, its menu category is ThreeD, and its name is QuickDraw 3D Model.

To incorporate a sprite into an Authorware piece, position the Paste Hand on the flowline where you want the spite to appear, then choose the Xtra you want from its submenu. Authorware displays a dialog box that lets you choose the sprite you want, then inserts it on the flowline in a sprite icon. When you run the piece, the sprite appears in the Presentation window.

Show Me: Active X and QD3D


Sprite Icon Properties

Like all icons, sprite icons have properties that you can set in the icon's properties dialog box. The general properties of a sprite icon-which all sprite icons share-are similar to those of a display icon: where it's positioned in the Presentation window, whether users can move it, the transition you've applied to it, and so on.

Sprite icons also have three categories of features that are unique to them: sprite properties, events, and methods. Not all sprite icons have features in all three categories. For example, a QuickDraw 3D sprite icon has properties, but neither events or methods. For more information, see Sprite Properties, Events, and Methods.

Click an option in the dialog box for more information:

Preview

The Preview box is blank for sprite icons.


Sprite tab (Video Icon Properties )
Sprite tab (Sprite Icon Properties)

Name, Symbol, File fields

The Name, Symbol, and File fields identify the Xtra control inserted on the flowline. The Xtra name appears in the Name field, and its symbol appears in the Symbol field. The File field shows the path and file name of the Xtra.


Sprite properties, events, and methods

The properties, events, and methods available for a sprite icon appear in its options dialog box (which you can display by clicking the Options button in the Sprite Icon Properties dialog box). The look of the options dialog box varies considerably. ActiveX controls have their properties, events, and methods organized on separate tabs. The QuickDraw 3D sprite icon-because it has only properties-has separate tabs devoted to different types of properties.

Properties

Properties are characteristics or values. For example, the QuickDraw 3D sprite icon has dozens of properties that affect the rotation and position of the model, how it's rendered to the screen, the direction and quality of the lighting, and the position and orientation of the camera.

Properties can affect things other than a sprite's appearance. For example, the QuickDraw 3D sprite has properties that control the user's ability to manipulate the model. A button sprite might have a property that determines whether it works like a push button or a radio button.

In some cases, both a sprite icon and the sprite it displays in the Presentation window can have properties. For example, the properties of the QuickDraw 3D sprite icon act as defaults for the properties of the sprite itself. You can, however, change the properties of the sprite directly-using the SetSpriteProperty function-without changing the properties of the sprite icon.

Authorware has four functions you can use to manipulate sprite icon and sprite properties:

•	GetIconProperty-Gets the value of the asset property of the sprite icon.

•	GetSpriteProperty -Returns the value of the property for a sprite.

•	SetIconProperty -Sets the value of the property for the sprite icon's asset.

•	SetSpriteProperty-Sets the value of the property for the sprite currently displayed by the sprite icon.

Events

Events are exactly what they sound like: things that happen. Some events are produced by users. For example, the Microsoft Calendar control tracks where a user clicks on the calendar. Other events are produced by a sprite on its own. The Microsoft Web Browser control, for example, sends an event when a download begins and another when the download is complete. Sprites that produce events are called senders.

You can use the event response type select a sender, to track the event you want to respond to, and to set up Authorware to respond when it happens. There's also a set of variables and functions you can use to manage events.

•	EventLastMatched-Contains a property list for the Xtra event matched at the last event response

•	EventQueue-Contains a list of all pending unprocessed external events sent by Xtras in order of arrival.

•	EventsSuspended-If true, prevents all event responses from interrupting the current flow and saves all events in the variable EventQueue.

•	GlobalTempo-Contains the rate at which sprite Xtras receive step events.

•	FlushEventQueue-Discards all pending events from the event queue.

•	SendEventReply-Sends a reply to an event sent by an Xtra.

Methods

Methods are similar to custom functions. They let you perform some action to or through a sprite or a sprite icon. For example, you can use the GoBack and GoForward methods in the Microsoft Web Browser control to navigate through the pages of a web site.

The primary difference between a method and a custom function is that you can't use a method directly in a calculation window. Instead, you use the CallIconfunction to call a method associated with a sprite icon or the CallSprite function to call a method associated with a sprite.

For example, to use the GoBack method, you set up a statement like this in a calculation window:

CallIcon(IconID@"Web Browser",#GoBack)

Details about properties, events, and methods

For specific information about the properties, events, and methods that are available for a sprite Xtra, check the documentation that the developer has provided. The documentation may be available through the help system (click the Help button in the sprite icon options dialog box to display it), or it may be a Read Me file.


Response Type

Use the Response Type dialog box to select a way for the user to respond during an interaction. The response type symbol you choose tells the interaction icon whether to display a button, a menu, a text entry field or some other element.

You can select from the following response types:

Button

Hot Spot

Hot Object

Target Area

Pull-down Menu

Conditional

Text Entry

Keypress

Tries Limit

Time Limit

Event

When you select a response type, the corresponding response type symbol appears above the icon in the Design window. Double-click the response type symbol to open a dialog box in which you can specify properties for the response type, including changing the response type.

Related variables:	ResponseHeight
ResponseLeft
ResponseStatus
ResponseTime
ResponseTop
ResponseType
ResponseWidth


Common options, Response Properties dialog
Common options, Response Properties

Name

Use the Name field to name icons. Icon titles can include spaces. While you're developing your piece, use meaningful names when you have many icons to work with.

When you change the name in this field, the icon's title on the flowline changes and vice versa.

Use Find and replace functions to search for and change icon names.

Note: In the following cases, the icon name affects the display or the functionality of Authorware:

•	Button responses

•	Text entry responses

•	Pull-down menu responses

•	Conditional responses

•	Icons referenced by a function

Type

Choose the type of response from this drop-down list.

Open

Click Open to save your choices and display the result icon's contents.


Button Response Properties

Use the Button Response Properties dialog box to create buttons, radio buttons, and check boxes. For information on using custom buttons, see Buttons.

Click an option in the dialog box for more information:

Buttons

Click Buttons to open the Buttons dialog box and select a button to use. For more information, see Buttons.

Open

Click Open to save your choices and display the result icon's contents.


Button tab (Button Response Properties)

Size and Location

Use the Size and Location fields to define the button's size and location by entering screen coordinate values or variables. Location defines the location of the top left corner of the button. These values are useful for standardizing the placement and size of buttons.

Label

Type a Label for the button in this field. The button is automatically resized (unless it's a custom button) to fit the label. When you change the name in this field Authorware changes the icon's title and the button's label. The title in this field also appears in the text field at the top of the dialog box.

Use the Button Editor dialog box to modify whether the label appears and how to align the text.

Key(s)

Use the Key(s) field to enter keyboard shortcuts that users can press instead of clicking the button.

Enter alphanumeric keys by typing them; separate multiple keys with an "or" bar (|). For example, if the button is titled Help, you let the user type H or h in addition to clicking the Help button by typing H|h (no spaces) in the text entry field.

Enter keys such as Tab, Enter, and Backspace by typing their names. For the Control key, type Ctrl followed by the key to be pressed with the Control key-for example, CtrlA.

For a complete list of supported key names, see Key Names.

Make Default

If you selected a standard or system button (or a copy of either) in the Buttons dialog box, turning on Make Default displays a heavy line around the button to let the user know that this button is the default choice. When a button is the default choice, pressing Enter is the same as clicking the button.

If you created a custom button, this option is not available.

Hide When Inactive

Choose Hide When Inactive to remove the button from the screen when clicking the button would produce no result. The button automatically reappears when it becomes active.

Cursor

Click the button labeled ... to display the Cursors dialog box where you select a custom cursor that appears when the user moves the mouse over the button. You can also load additional cursors. When you select a custom cursor, it appears in the Button Response Properties dialog box. For more information, see Cursors.

When you package the file, Authorware copies the custom cursors into the packaged file.

Show Me: Q button


Hot Spot Response Properties

Use hot spot responses to define a rectangular area-even the entire screen-as a hot spot that responds when the user clicks, double-clicks, or moves the cursor over it.

Click an option in the dialog box for more information:

Open

Click Open to save your choices and display the result icon's contents.


Hot Spot tab (Hot Spot Response Properties)

Size and Location

Use the Size and Location fields to define the hot spot's size and location by inserting screen coordinate values or variables. The top left corner of the hot spot is placed at the coordinates you set in the Location field. The Size values determine the width and height of the hot spot. These values are useful for standardizing the location and size of hot spots that appear in different places in the piece.

Key(s)

Use the Key(s) field to enter keys that the user can press instead of clicking the hot spot. For example, if you have multiple hot spot responses, you could label them with single-digit numbers and let the user type the number.

•	Enter alphanumeric keys by typing them; separate multiple keys with an "or" bar (|). For example, to let the user type either A or a, type A|a (no spaces) in the field.

•	Enter keys such as Tab, Enter, and Backspace by typing their names. For the Control key, type Ctrl followed by the key to be pressed with the Control key-for example, CtrlA.

For a complete list of supported key names, see Key Names.

Match

Use the following Match options to define how the user can match the response:

•	Single-click-The user clicks the hot spot once. This is the default.

•	Double-click-The user double-clicks the hot spot.

•	Cursor in Area-The user places the cursor on the hot spot without clicking. Continue branching and Auto Highlight aren't available when you select the Cursor in Area option. If you set the Erase Feedback option to Before Next Entry, Authorware doesn't erase the feedback until the user moves the cursor off the hot spot.

Highlight on Match

Select Highlight on Match to display an inverse image of the hot spot when the user clicks it. The inverse color is displayed until the user releases the mouse button.

For example, if the hot spot area is white, it changes to black; if the hot spot is a color, it changes to its inverse color. This option is useful for showing the user which hot spot areas have been selected.

Mark on Match

Select Mark on Match to place a small square symbol in the inside left edge of the hot spot.

The square is empty until the user matches the response. At that time, Authorware fills in the square. Authorware erases the squares along with the interaction display. If you resize a hot spot that contains this square, Authorware resizes the square.

Cursor

Click the button labeled ... to display the Cursors dialog box where you select a custom cursor that appears when the user moves the mouse over the hot spot. You can also load additional cursors. When you select a custom cursor, it appears in the Hot Spot Response Properties dialog box. For more information, see Cursors.

When you package the file, Authorware copies the custom cursors into the packaged file.

Show Me: Q Hotspot


Hot Object Response Properties

Use a hot object response to define a hot object that responds when the user clicks, double-clicks, or moves the cursor over it.

Hot object responses are similar to hot spot responses, except that you make an object hot, rather than a rectangular area of the screen. You can also make objects that are being moved hot objects.

To use this option, place each object you want to make hot in its own display icon.

Click an option in the dialog box for more information:

Open

Click Open to save your choices and display the result icon's contents.


Hot Object tab (Hot Object Response Properties)

Hot Object

The Hot Object field shows the name of the object selected as a hot object.

Key(s)

Use the Key(s) field to enter keys that the user can press instead of clicking the hot object.

•	Enter alphanumeric keys by typing them; separate multiple keys with an "or" bar (|). For example, to let the user type either A or a, type A|a (no spaces) in the field.

•	Enter keys such as Tab, Enter, and Backspace by typing their names. For the Control key, type Ctrl followed by the key to be pressed with the Control key-for example, CtrlA.

For more details and a complete list of supported key names, see Key Names.

Match

Use the following Match options to determine how the user can match the response:

•	Single-click-The user clicks the hot object once. This is the default.

•	Double-click-The user double-clicks the hot object.

•	Cursor in Area-The user places the cursor in the hot object without clicking. Continue branching and the Auto Highlight option aren't available when you select this option. If you set the Erase Feedback option to Before Next Entry, Authorware doesn't erase the feedback until the user moves the cursor off the hot object.

Highlight on Match

Use Highlight on Match to display an inverse image of the hot object when the user clicks it. (For example, if the hot object area is white, it changes to black; if the object area is a color, it changes to its inverse color.) When the user releases the mouse button, Authorware matches the response if the cursor is still over the hot object. This option is useful for showing the user which hot objects have been selected.

Cursor

Click the button labeled ... to display the Cursors dialog box where you select a custom cursor that appears when the user moves the mouse over the hot object. You can also load other cursors. When you select a custom cursor, it appears in the Hot Object Response Properties dialog box. For more information, see Cursors.

When you package the file, Authorware copies the custom cursors into the packaged file.

Show Me: Q Hot Object


Target Area Response Properties

Use target area responses when you want the user to drag an object into a specified area in the interaction display. When the user drags the object into the target area, Authorware branches to the result icon.

Each target area response you attach to an interaction appears as an outlined rectangle with an X. The target area is labeled with the result icon's title. Because target areas don't appear when a piece is running, you can see the target area only when you're editing with the toolbox or when you pause the piece.

When you set up target area responses, consider setting up boundaries to keep the user from dragging objects off the screen. You may also want to freeze objects after the user moves them.

Unanticipated responses

It's useful to include a target area response that covers the entire screen. This catchall target area lets you provide feedback no matter where a user drags an object on the screen. Be sure to place the catchall icon on the flowline to the right of any other target area icons that contain smaller target areas; otherwise users will never match the smaller target area responses.

Click an option in the dialog box for more information:

Open

Click Open to save your choices and display the result icon's contents.


Target Area tab (Target Area Response Properties)

Size and Location

Use the Size and Location fields to define the size and location of the target area by inserting screen coordinates or variables. The top left corner of the target area is placed at the coordinates you specify in the Location field. The Size values determine the width and height of the target area. These values are useful for standardizing the location and size of target areas that appear in different places in the piece.

On Drop

Use the following On Drop options to control what happens to the object when the user stops dragging it:

•	Leave at Destination-Leaves the object exactly where the user drops it.

•	Put Back-Returns the object to its previous screen location. This option is useful for incorrect responses set to Try Again branching because the user can move the object again, starting at the original position.

•	Snap to Center-Snaps the object to the center of the target area. This option is useful for providing feedback that the object was moved correctly.

These options apply only when the user moves the object into the target area.

Target Object

The Target Object field shows the name of the object selected as a target object.

Accept Any Object

Turn on Accept Any Object to match the response when the user drags any object into the target area.

If you select this option, use the Layout tab in the Display Icon Properties dialog box to create movable objects. For more information, see Layout tab.

Tip:  After the user drags an object into the target area, the system variable ObjectMatched contains the title of the object that was dragged; the variable ObjectMoved contains the name of the last display that the user clicked and dragged.

Show Me: Q Target


Pull-Down Menu Response Propeties
Pull-Down Menu Response Properties

Use pull-down menu responses to set up menus from which users can choose commands. For each pull-down menu, you need a separate interaction icon. The icons attached to the interaction icons are the commands in the menus.

Pull-down menus are especially useful for setting up perpetual interactions that are always available yet unobtrusive.

Unanticipated responses

You can use a Time Limit response type to prompt users who don't select a command within the time limit you set up.

Click an option in the dialog box for more information:

Open

Click Open to save your choices and display the result icon's contents.


Menu tab (Menu Response Properties)

Menu

Displays the menu's name, which is the same as the title of the interaction icon.

Menu Item

Use the Menu Item field to enter the name of the command that you want to appear on the pull-down menu. You can use special codes when you type the title to control how the command appears in the menu. Type the following codes in the field, along with the title:

•	To have a menu item appear dimmed, type a left parenthesis before the text you want to display.

•	To display a blank line, type only a left parenthesis: (.

•	To insert a separator line, type a left parenthesis followed by a hyphen: (-

•	To underline a letter and make it an accelerator key, type an ampersand (&) before the letter you want to underline. To place an ampersand (&) in the menu, type &&.

You can also use the ampersand (&) to underline characters in the title of an interaction icon (which appears as the title of the menu on the menu bar). During authoring, the ampersand is displayed; when you package the file, Authorware correctly interprets the underline character.

Key(s)

Use this field to specify an optional Control or Alt key combination that's equivalent to selecting the command from the menu.

To set up an optional key combination, enter the key in the Optional Key field. For example, if you type the letter O in this field, the menu command is matched with Control-O. To specify an Alt key in Windows, type Alt_ in the Optional Key field.

Show Me: Pulldown


Conditional Response Properties

Use conditional responses to display the contents of the result icon when a certain condition is true. For example, you could display a message if the user makes three wrong responses.

For more information see, Conditional Interactions.

Click an option in the dialog box for more information:

Open

Click Open to save your choices and display the result icon's contents.


Conditional tab (Conditional Response Properties)

Condition

Use the Condition field to enter the variable or conditional expression that Authorware matches when it becomes true. The expression you enter appears as the title of the attached icon on the flowline.

Enter any variable or expression in the field-it doesn't need to be a logical variable or a conditional expression. Authorware evaluates the variable or expression you specify and comes up with a result of true or false according to the following rules:

•	A value of 0 equals false; any numeric value other than 0 equals true.

•	The character strings TRUE, T, YES, and ON equal true. All other characters equal false.

Here are some examples of conditional expressions you can use:

•	Score > 20-The condition is true if the custom variable Score contains a value greater than 20.

•	SessionHours < .25-The condition is true if the system variable SessionHours contains a value of less than .25, which means the user has worked in this session for less than 15 minutes.

•	WordCount<5|CharCount>25-The expression is true if the system variable WordCount contains fewer than 5 words or more than 25 characters.

Automatic

Generally, Authorware evaluates the condition each time it encounters a conditional response. However, you can use the Automatic options to match a conditional response at any point in the interaction. Authorware then branches directly to the conditional response. Use the following Automatic options to determine whether and how to match a conditional response without a user response:

•	Off-Authorware matches the conditional response only when the user responds to the interaction and the specified condition is true.

•	When True-Authorware matches the conditional response repeatedly, as long as the condition is true. This option is useful for matching a response automatically, depending on the value of a condition. A conditional response matches repeatedly when the condition is true. If you want Authorware to match other responses or to exit the interaction, make any changes necessary to make the condition evaluate to false.

•	On False to True-Authorware matches the conditional response only when the condition changes from false to true while Authorware is executing the interaction icon. No user response is needed for a match.

Show Me: Q Model


Text Entry Response Properties

Use text entry responses when you want the user to type a word or phrase. Each interaction display can contain only one text entry field where a user can enter a response. If you want users to enter information in two different fields, you must set up two different interactions.

To take into account variations in spelling, word order, capitalization, and so on, you can attach several result icons set up as text entry responses to an interaction icon. You can also include a catchall response that matches any entry.

You set up the options that apply to text entry fields in two different dialog boxes. The first dialog box appears when you click Text Field in the Interaction Icon Properties dialog box. These options, which apply to any text entry fields in the interaction, are described in Interaction Icon Properties/Text Field. The second set of options applies only to a single result icon, as described in this section.

Unanticipated responses

Unanticipated responses are most likely with text entry responses, because the number of things a user can type is infinite. By carefully using wildcard characters and ignoring variations in word order, punctuation, capitalization, and extra words, you can increase the number of user responses that Authorware will match. However, users will still make unanticipated entries.

To set up a catchall response type for text entry responses, attach an icon that contains a single asterisk character (any response) in the Pattern field. In the attached icon, display a message to help the user. To make sure Authorware tries to match all other responses first, attach the icon at the far right of all the icons, so that it matches only unanticipated responses.

Click an option in the dialog box for more information:

Open

Click Open to save your choices and display the result icon's contents.


Text Entry tab (Text Entry Response Properties)

Pattern

Use the Pattern field to enter the word or phrase you want the user to type. The user does not need to match all the words, depending on the Match at Least option setting.

The text in this field becomes the title of the attached icon.

Match At Least

Use the Match At least Field to enter the minimum number of words (relative to the total number of words in the Pattern field) the user must enter.

Words that are separated by the "or" bar (|) are considered separate groups. For example, if you enter red white blue|rojo blanco azul in the Pattern field and specify that the user needs to match at least three words, Authorware matches a response that contains either all three words in English or all three words in Spanish.

Incremental Matching

If the Pattern field contains more than one word, select Incremental Matching to give the user several opportunities to get all the words. For example, if the field contains Mahatma Gandhi, the user could enter Mahatma in one try and Gandhi in another try.

Ignore

Use the following Ignore options to ignore some variations in the user's response:

•	Capitalization-Ignores capitalization. If the user enters the text in the Pattern field correctly except for capitalization, Authorware matches the response.

•	All Spaces-Ignores all spaces the user types. By default, Authorware compares user responses with the text you specify word by word. One space indicates the start of a new word; multiple spaces are ignored.

When you select the All Spaces option, Authorware ignores every space in the user's response and interprets the entire response as a single word or an unbroken string of characters.

•	Extra Words-Lets the user enter extra words. I think it's red would match the anticipated response of red.

•	Extra Punctuation-Ignores extra punctuation the user types.

For example, if the anticipated response is Clarion, Iowa and the user types Clarion Iowa! Authorware would match the response because it ignores the exclamation mark.

•	Word Order-Lets the user enter the words you specified in a different order.

Show Me: Q Text Long

Show Me: Q Text Short


Text entry rules

You can use special characters or enter variables in this field to set up different match options:

•	Use the "or" bar (|) to separate equivalent responses. The text in the Match If User Enters field can be up to 400 characters long, so you can include many alternative responses, separated from one another with an "or" bar. For example, if the matching text field contains red|yellow|blue, the response is matched if the user types either red, yellow, or blue.

•	Instead of matching the response whenever the user enters the text you specify, you can make text entry responses active only when the system variable Tries also contains a value you specify.

For example, to make a text entry response active on a specific try, type # and a number as the first characters in the Match If User Enters field. For example, if you enter #3dog, Authorware matches the response "dog" only on the user's third try.

To make the match dependent on more than one condition, separate the conditions with an "or" bar (|). For example, if you enter a|b|#1c|#2d|#3d in the Match If User Enters field, a response of a or b always matches, a response of c matches when Tries = 1, and a response of d matches when Tries = 2 or when Tries = 3.

•	You can add comments to the end of the text you want users to type by inserting two hyphens. For example, if you enter hello--user password is in the Match If User Enters field, Authorware ignores the comment --user password when checking for a match.

•	You can use wildcard characters to take into account misspellings and alternative prefixes or word endings.

Type an asterisk (*) as a substitute for an entire word or any missing part of a word. Type a question mark (?) as a placeholder for any single character.

Type a backslash (\) before an asterisk (*) or a question mark (?) to specify that these characters are not wildcard characters but normal asterisks or question marks.

The following table contains examples of wildcards.

Anticipated response	Matching responses	Nonmatching responses
*	one, red, fantastic (any single word or character)	one red, (more than 1 word unless ignoring extra words)
* *	red ball, a b (any 2 words)	all, one red ball (less than 2 words or more than 2 words)
re*d	red, read, reed, rested, required	reds, re d, redone, reedit
red*	red, redeploy	cornered, read
*red	red, cornered	redeploy, redone
*red*	red, redeploy, cornered, redeem, redundant	read, der, re:
?	a, b, 1, 0, -, + (any single character)	red, 10 (null entry, 0 or more than 1 character)
??	ab, 10, -2, i, (any 2 characters)	red, a, 0, + (less than 2 or more than 2 characters)
? ?	1 2, R L (any two characters separated by a space)	12, ab, +-
*?	1, daffodil, terrific (any single character or word)	red herring (null entry or more than 1 word unless ignoring extra words)
?*	same as above	same as above
re?d	read, reed	red, received
\*	*	anything else
\?	?	anything else
red\?	red?	red\?, anything else
2\*3	2*3	2\*3, anything else
?\*?	a*b, 1*2, x*7	a\*b, a\b
*?\*?*	a*b, 10*lbs, four*three	a * b, a+b, *b, a*


Keypress Response Properties

Use keypress responses when you want the user to match a response by pressing a key or key combination on the keyboard. This response type is ideal for multiple choice tests and for using a letter to identify objects on the screen.

Note:  Don't use Keypress responses for setting up optional keys for a response. Response types that have an Optional Key option in their dialog boxes allow optional keys.

Click an option in the dialog box for more information:

Open

Click Open to save your choices and display the result icon's contents.


Keypress tab (Keypress Response Properties)

Key(s)

Use the Key(s) field to enter one or more keys that the user can press to match the response. The keys you enter in this field are displayed as the title of the attached icon. See the table following this description for the keys you can use.

Show Me: KeyPress


Key rules

You can set up several types of special keypress responses:

•	To enter several keys, use an "or" bar (|) to separate them: a|e|i|o|u|1|2|3.

•	Keypress responses are case sensitive. To let users enter an uppercase or a lowercase character, specify both by using the "or" bar (|). For example, if the user can press either h or H, type h|H (no spaces) in the Key field.

•	For Control keys, type Ctrl, followed by the key you want the user to press with the Control key. For example, to set up a Control-A keypress response, type CtrlA in the Key field. On the Macintosh, to set up a Command-A keypress response, type CmdA in the Key field

•	To let users type a question mark as a response, put a backslash (\) before it. The backslash indicates that the character following it should be taken literally. You must also type a backslash to specify a vertical bar (|) as an anticipated response. You can specify the backslash itself as an anticipated response by typing two backslashes.

•	To allow for unanticipated responses, create a catchall keypress response that matches any key by entering a question mark (?) in the Key(s) field. This technique is useful for responding to users when they press a key you haven't specified. Place the catchall response to the right of any other result icons so that correct keypress responses are matched first.

If you plan to run an Authorware piece on both Windows and Macintosh computers, include the keys used by both computers. By typing the key name rather than pressing the key, you can activate keys that are not available on your keyboard. Then, when the piece is run on a computer on which these keys are available, they will be active.


Key names

The following table lists the key names you can use in the Key field:

Key name	Windows key	Macintosh key
Alt	Alt key	Option key
Backspace	Backspace key	Backspace or Delete key
Break	Break key	none
Clear	none	Clear key
Cmd	Ctrl key	Command (Apple) key
Control	Ctrl key	Control key
Ctrl	Ctrl key	Control or Command key
Delete	Del or Delete key	Delete or Backspace key
DownArrow	down arrow key	down arrow key
End	End key	End key
Enter	Enter key	Enter key (on keypad)
Escape	Esc key	Esc key
F1 - F15	F1 - F15 keys	F1 - F15 keys
Help	none	Help key
Home	Home key	Home key
Ins or Insert	Insert or Ins key	none
LeftArrow	left arrow key	left arrow key
PageDown	Pg Dn key	Page Down key
PageUp	Pg Up key	Page Up key
Pause	Pause key	none
Return	Enter	Return
RightArrow	right arrow key	right arrow key
Shift	Shift key	Shift key
Tab	Tab key	Tab key
UpArrow	up arrow key	up arrow key


Time Limit Response Properties

Use a time limit response when you want Authorware to branch to a specific icon after a certain amount of time in the interaction.

Click an option in the dialog box for more information:

Open

Click Open to save your choices and display the result icon's contents.


Time Limit tab (Time Limit Response Properties)

Time Limit

Use the Time Limit field to enter a time limit in seconds.

Interruption

Use the Interruption options to turn off timed interactions when the user goes to another activity during the interaction. If the user leaps to a perpetual interaction during a timed interaction (by choosing a command from a perpetual pull-down menu, for instance), you can set up what happens with the following options:

•	Continue Timing-Continues timing while Authorware executes the perpetual interaction. This is the default.

•	Pause, Resume on Return-Stops timing during the leap to the perpetual interaction. When Authorware returns to the timed interaction, it resumes counting down from the time that has already elapsed.

•	Pause, Restart on Return-Stops timing during the leap to the perpetual interaction. When Authorware returns to the timed interaction, it starts the countdown from the beginning of the time limit. Authorware restarts the timing even if the time limit had already expired before the leap to the perpetual interaction.

•	Pause, Restart if Running-Works the same as the Pause, Restart on Return option except that, when Authorware returns to the timed interaction, it restarts timing only if the time limit had not expired before the leap to the perpetual interaction.

Show Time Remaining

Turn on Show Time Remaining to display a clock that shows how much time is left. A separate clock appears for each time limit response. Drag the clock to reposition it when editing the interaction display. Double-click the clock to display the Response Properties dialog box.

Restart for Each Try

Turn on  the Restart for Each Try to restart counting down from the time limit you've set each time the user matches a response.

Note:  If you have more than one time limit response, be sure to set the branching for all but the last one to Try Again. The user will be able to continue responding to the interaction after receiving feedback from each time limit result icon. If part of a text entry response was entered when a Try Again time limit was reached, the user can continue typing a response by clicking the end of the text entry area.

Show Me: Q Time


Tries Limit Response Properties

Use a tries limit response when you want Authorware to branch to an icon after a certain number of tries, whether the user has matched a response or not. Including a tries limit response is useful if you want to display hints or messages after so many tries.

Click an option in the dialog box for more information:

Open

Click Open to save your choices and display the result icon's contents.


Tries Limit tab (Tries Limit Response Properties)

Maximum Tries

Use the Maximum Tries field to enter the number of tries, or a variable representing the number of tries, that the user can make before Authorware branches to the tries limit result icon.

For example, if you enter 3 in this field, the user can respond either once or twice without branching to the tries limit result icon. If the user's third response matches an anticipated response with Exit Interaction branching, Authorware ignores the tries limit. Otherwise, Authorware matches the tries limit response.

Tries limit responses are active for only one response-in this example, the third try. If you let the user respond again after Authorware matches the tries limit result icon, Authorware will not match it again.

To display the same message for every response entered after the first two responses, use a conditional response type. For example, type Tries >2 as the condition.

Show Me: Q Tries


Event Response Properties

Use event responses to interact with Xtras that send events, such as ActiveX controls.

Click an option in the dialog box for more information:

Open

Click Open to save your choices and display the result icon's contents.


Event tab (Event Response Properties)

Sender

Lists the names of sprite Xtras appearing on the flowline.

Event Name

Lists the events triggered by the sprite Xtras appearing on the flowline.

Description

Displays a description of the selected event.

Suspend Other Events

Suspends any other events during this event response.

Response Tab

Show Me: Active X


Response tab (Response Properties)

Use the Response tab options to tell Authorware when to erase any text or graphics displayed by the result icon and to direct the flow after Authorware leaves the result icon.

Scope: Perpetual

Turn on Perpetual to keep the response type symbol available throughout an entire piece or within a section of a piece without having to create a new response type symbol in every interaction.

Notes:

_	Perpetual responses aren't erased by the interaction icon's Erase setting. To erase a perpetual response-such as a perpetual button or hot object-use an erase icon.

_	Keypress, Time Limit, and Tries Limit responses cannot be made perpetual.

Active If

Choose this option to specify that the response type symbol is in effect only when the condition you enter in the Active If field is true.

Erase

Use the following Erase options to automatically erase the contents of the result icon attached to the response type symbol. How these options work also depends on the branching options you define.

•	Before Next Entry-Erases the result icon's display before showing the interaction display, which asks the user to make another response. Use a wait icon to insert a pause that gives the user time to see the display before it's erased.

If you set branching to Continue, the result icon's display remains on the screen until Authorware matches another response. If no other response is matched, Authorware erases the display just before the user can enter another response. If you set branching to Exit Interaction, Authorware erases the result icon's display when it exits the interaction.

If you choose the Before Next Entry option for the first of two result icons and the user's response triggers both, Authorware erases the display in the first icon just before the display in the second icon appears.

•	After Next Entry-Erases the result icon's display just after the user makes another response. If you set branching to Try Again or Continue, the previous display remains on the screen until the user responds again. If the new response matches, Authorware erases the display. If the user's new response does not match any anticipated response, Authorware doesn't erase the display automatically.

If you set branching to Exit Interaction, Authorware erases the result icon's display when it exits the interaction. If the branching takes the user back to another interaction, however, Authorware doesn't erase the display until the user enters a response.

•	On Exit-Leaves the result icon's display on the screen until Authorware exits the interaction, even if the user makes another response. Choosing this option can result in overlapping displays. When Authorware exits the interaction and moves to the next icon on the main flowline, it erases any displays.

•	Don't Erase-Leaves any displays on the screen until you remove them with an erase icon.

Status

Choose one of the following Status options to determine how Authorware judges the user's response.

•	Not Judged-Doesn't keep track of the response.

•	Correct Response-Registers the response as correct.

•	Wrong Response-Registers the response as wrong.

Judging a response is useful to track a user's performance. Authorware provides several system variables that store information based on judged responses. For example, the system variable TotalCorrect accumulates the number of correct responses in the total number of judged responses. You can keep this information in the user's file or use it to display feedback.

On the flowline, you can see the response status assigned to each result icon. A plus sign (+) appears next to correct responses and a minus sign (-) next to wrong responses. No symbol appears next to responses that are not judged.

Tip:  To change the response status in the Design window, hold down the Control key  and click to the left of the icon title. Click repeatedly to cycle through the available status options.

Branch

Use the following Branch options to define what Authorware does when it exits the result icon attached to the response type symbol.

•	Try Again-Loops back to the interaction icon and asks the user to make another response.

•	Continue-Checks whether any icons attached to the right of the result icon also match the user's response.

•	Exit Interaction-Drops out of the interaction and moves to the next icon on the flowline.

•	Return-Branches to the result icon and then returns to the place on the flowline where it was when the user responded to the perpetual interaction. This option is available only if you choose the Perpetual option.

Tip:  To cycle through the branching options in the Design window, press Control while you click repeatedly on the branch above or below the result icon.


Start flag

Set a start flag in the flowline to start a piece from a particular spot. When debugging a piece, setting a start flag is useful for viewing a specific section of the piece.

When you place the start flag on the flowline, the Restart from Flag command in the Control menu becomes active. When you choose Restart from Flag, Authorware executes the first icon after the start flag. Authorware also sets all variables to their initial values and clears the Presentation window, as if you were running the file from the beginning.

You can set only one start flag and one stop flag. Flags remain in position until you move or remove them. To move a flag, drag it to a new position. To remove a flag, click its icon on the icon palette. (Removing a flag this way is useful if you forget where you placed a flag). The start and stop flags are temporary markers that are not included in the final packaged piece.

You can also use the start and stop flags when debugging with the Control Panel. For more information, see Control Panel.


Stop flag

When Authorware encounters a stop flag, it stops running the piece.

Set a stop flag in the flowline to stop the piece at a particular spot. When debugging a piece, setting a stop flag is useful for determining what is happening within a specific section. You can make the action stop at a specific point and examine what happened.

As your file gets larger, it's often helpful to place a Start flag at the beginning of the sequence you're working on and a stop flag at the end of that sequence. You can then use the Restart from Flag command to run only the icons between the flags.

You can set only one start flag and one stop flag.  Flags remain in position until you move or remove them. To move a flag, drag it to a new position. To remove a flag, click its icon on the icon palette. (Removing a flag this way is useful if you forget where you placed a flag). The start and stop flags are temporary markers and are not included in the final packaged piece.

You can also use the start and stop flags when debugging with the Control Panel. For more information, see Control Panel.


 Icon color palette

The Icon color palette allows you to color code icons in the flowline. You can use this feature to

•	Provide a quick visual overview of related icons

•	Help you locate particular icons

•	Organize your piece by colored modules

•	Indicate who is working on what part of the piece

To apply a color, first highlight the icon in the flowline and then click a color from the palette.


Toolbox

Use the tools in the Authorware toolbox to select, create, and modify text and graphics in the Presentation window.

When the toolbox is open, you can also use the following inspectors to change the characteristics of the objects you draw:

•	Lines

•	Fills

•	Modes

•	Colors

The tools provided by Authorware are ideal for prototyping your ideas. When you need more complex graphics, choose File > Import to import graphics created in other applications.

Click this graphic for information about each tool:


Icon display

The icon display shows an image of the icon you're editing. The icon's title appears in the toolbox title bar.

You can use the icon display in the following ways to work with the corresponding icon:

•	Double-click the icon display to select all the display objects the icon contains.

•	For icons attached to interaction icons, change the branching by pressing the Control key while you click the branching symbol at the bottom of the icon.

•	For icons attached to interaction icons, open the Response Type options dialog box by double-clicking the response type symbol on top of the icon.


Pointer tool
Pointer

Use the pointer to move and resize objects. To move an object, click the pointer and drag the object to a new location. For fine adjustments, click the object to select it and then press one of the arrow keys on the keyboard. Each keystroke moves the object one pixel in the corresponding direction of the arrow key.

To resize an object, drag a handle on the edge of the object.

If you hold down the Shift key while dragging, an object's movement is constrained to vertical, horizontal, or diagonal angles of 45¡. If you hold down the Shift key while dragging an object's handle, Authorware resizes the object maintaining its original proportions. This technique prevents a circle from turning into an oval, for example.

Double-click the pointer to open the Modes panel.


Text tool

Use the text tool to create and edit text. You can also use commands on the Edit menu to cut or paste, choose File > Import to import text, or drag and drop selected text into the display.

As you create text, you can:

•	Use the Text menu to define how text is aligned and whether it is displayed as a scrolling text field.

•	Press Enter to create separate paragraphs. You can define the attributes of each paragraph, including changing the margins, indents, tabs, and alignment. Authorware also recognizes and imports those paragraph attributes for imported text.

•	Use the text object's handles and markers to define margins, indents and hanging indents, and tabs.


Margins

As you type text, the left margin is set wherever you click to begin typing. The right margin extends to near the right edge of the screen. You can adjust margins by dragging the margin marker (square). If you change the margins, Authorware automatically wraps the text to the new margins.


Indents

To set an indent for a paragraph's first line, left edge, and right edge, first select the paragraph you want it to apply to display the text width markers. To indent the left edge of the paragraph, drag the top half of the triangle on the left. To indent the first line, drag the bottom half of the triangle on the left. Notice that when you drag the top half of the triangle, both halves move; when you drag the bottom half, only the bottom half moves. To drag the top half without moving the bottom half, hold down the Shift key. To indent the right edge of a paragraph, drag the triangle on the right.


Tabs

Tab markers appear as triangles on the paragraph ruler at the top of a text object. Decimal tabs-for aligning the decimal points in numbers or for right-aligning words-appear as an arrows.

To set and change tabs, select a paragraph, then:

*	Click just above the paragraph ruler to set a tab.

*	Drag the tab to move it.

*	Click a standard tab to change it to a decimal tab and vice versa.

*	Drag a tab past the left or right margin to remove it.


Alignment

To define how selected text is aligned, choose Alignment from the Text menu. You can align text on the left or right margin, center it, or justify it between margins.


Scrolling text fields

To create scrolling text fields, choose Scrolling Text from the Text menu. You then use the text tool to create a new text object and enter text. The text object appears with a scroll bar. You can resize the object and change the text margins just as you change standard text objects.


Straight line tool

Use the straight line tool to draw horizontal, vertical, or 45¡ diagonal lines. Lines created with this tool stay horizontal, vertical, or at a 45¡ angle when you move or edit them.

Double-click the straight line tool to open the lines inspector.


Diagonal line tool

Use the diagonal line tool to draw a line between any two points. Holding down the Shift key while drawing creates vertical, horizontal, or 45¡ angle lines.

Double-click the straight line tool to open the lines inspector.


Ellipse tool

Use the ellipse tool to draw ovals and circles. To draw a circle, hold down the Shift key while dragging.

Double-click the ellipse tool to open the Color inspector.


Rectangle tool

Use the rectangle tool to draw rectangles . To draw a square, hold down the Shift key while dragging.

Double-click the rectangle tool to open the Fill pattern inspector.


Rounded rectangle tool

Use the rounded corner rectangle tool to draw rectangles with curved corners.

To reshape the corners of a rounded rectangle, select the rounded rectangle tool and select the rectangle. Extra selection handles appear inside the rectangle corners. Dragging an inside handle toward the center of the rectangle to make it more rounded; drag it toward the outside of the rectangle to make it less rounded.


Polygon tool

Use the polygon tool to draw polygons by clicking the mouse to draw the sides of the polygon. Polygons can be closed (ending at the same point they began) or open.

To create a closed polygon, position the pointer on the starting point of the polygon and click. To create an open polygon, double-click the last point to stop drawing. To resize a polygon, select it with the pointer and drag the handles. Hold down the Shift key while dragging to retain the polygon's proportions.


Presentation window

The Presentation window shows what the user will see when the Authorware piece runs. You can edit directly in the Presentation window to add, change, or reposition graphics, text, and interaction objects.

To view the Presentation window:

•	Choose Window > Presentation.

•	Double-click an icon in the flowline.

•	Use the Control Menu or the Control Panel to run the Authorware piece.

•	Press zero on the numeric keypad.


Paste Hand

The Paste Hand appears in the flowline to indicate the point on the flowline that has the focus of the program. If you paste or import icons they appear at the position of the Paste Hand.

To reposition the Paste Hand, click the flowline or branch path.


Level caption

The level caption appears in the Design window in the top right corner. Use map icons to create a hierarchy of flowlines. The level caption indicates the level of a flowline and its map icon within the hierarchy.


Flowline

You organize and create the sequence of icons that make up a piece in the flowline. You create a flowline by dragging icons into the Design window. When Authorware runs the piece, it executes the icons one after another as it goes down the flowline.


Image Properties dialog box

Use the Image Properties dialog box to view information about and change the image selected in the Presentation window. You can also import images by using the Import button.

Click an option in the dialog box for more information:

Preview

The Preview box shows picture of the files icon as it appears in the Finder or on the desktop.

Import

Click Import to select an image to load into an Authorware piece. The Import dialog box appears.

For more information about the types of files you can import, see Importing a graphic.


Image tab (Image Properties)

File

The File field shows the path and name of the source image file.

Show Me: External

Storage

The Storage field indicates whether the image is stored internally or externally from the Authorware piece.

Mode

Use the following Mode options to control how the image looks in relation to other objects on the screen.

•	Opaque-Draws an image completely, with no transparent pixels.

•	Transparent-Allows other objects show through the image. For more information about setting up which color is transparent, see Modes.

•	Matted-Places an opaque matte behind the image. The shape of the matte for each frame matches the shape of the image. The white areas of the image that touch the border of the image are transparent; the white areas that don't touch the border are opaque.

•	Inverse-Changes pixels in the image from white to black, and from black to white, as necessary to allow objects below to show through. If a color image is set against a colored background, the image appears in its inverse colors (which can produce unexpected results).

•	Erase-Changes pixels in the image so an object is invisible when displayed against the default background color. (You can select the default background color in the File Properties dialog box.) If the object's background color is different from the file's background color, the object's foreground areas appear in the file's background color, and its background areas are transparent.

Foreground and Background Colors

Click Foreground to select the foreground color of a 1-bit monochrome image. A color palette appears from which you can select a color.

Click Background to select the background color a 1-bit monochrome image. A color palette appears from which you can select a color.

File Size, File Format, Color Depth

•	File Size-Lists the size of the image.

•	File format-Lists the file format of the image.

•	Color depth-Lists the color depth (8-bit, 24-bit, etc.) of the image element.


Layout tab (Image Properties)

Use the Layout tab to specify the size and position of an object and whether the object is scaled (larger or smaller) or appears cropped within a certain size boundary.

The Display option provides three layout choices.

Click an option for more information:

•	Scaled

•	Cropped

•	As Is

Scaled

Use the following Scaled options to position and change the size of an image on screen.

•	Position-Enter a number or expression to represent the x and y coordinates of the image's upper left corner

•	Size-Enter a numbers or expressions to represent the x and y coordinates of the image's width and height.

•	Unscaled Size-The original size of the image appears here as a reference when scaling.

•	Scale-Enter a number or expression to scale the image in size by a percentage.

Cropped

Use the following Cropped options to position an image on screen, cropped within a rectangular box of a specified size.

•	Position-Enter a number or expression to specify the x and y coordinates of the image's upper left corner.

•	Size-Enter numbers or expressions to represent the x and y coordinates (width and height) of the bounding box the image should be cropped to fit.

•	Uncropped Size-The original size of the image element appears here as a reference for cropping.

•	Placement-Click the panes of the Placement box to adjust the position of the image within the bounding box.

As Is

Use the following As Is options to position an image on screen in its original size.

•	Position-Enter a number or expression to specify the x and y coordinates of the image's upper left corner.

•	Size-Shows the original size of the image.

•	Placement-Click the panes of the Placement box to adjust the position of the image within the bounding box.


External Media Browser

Use the External Media Browser to view and control links to external media. The uppermost field in this window displays the name of the file or library.

The External Media Browser displays only the externally linked media for the active flowline or library window.

Click an option in the dialog box for more information:

Show Me: External

Literal

The External Media Browser appears with the Literal button chosen by default. This indicates that the paths to the external content can be absolute or relative. For more information, see File structures-overview

To modify paths to the external content, edit the values in the File and Path fields.

Expression

Turn on Expression to make the path to the external media a variable or function that resolves to a valid path and file name.

To modify paths to the external content, edit the values in the Expression field. The Value field displays the result of the expression.

File

Use the File Field to view or enter an externally linked media's filename as it appears in the Windows Explorer or Macintosh Finder.

Path

Use the Path field to enter the path to the currently selected externally linked media file.

Icon

The Icon field shows the name of the selected icon containing the media element.

Browse

Click Browse to open Import dialog box appears. Use it to select or update the path to external media.

The Browse button is active only when Literal is turned on.

Media list

The Media list shows the external content in the Authorware piece. To change the sort order, click a column heading.

•	Link-Displays a symbol that indicates whether the link to a specific external media item is broken or unbroken. To repair broken or timed-out links, click Browse and relocate the original media item. If a link is not established within a certain time, a timed-out link occurs.

•	Icon-Shows the Authorware symbol for the icon containing the media element.

•	Title-Shows the name of the icon containing the media element.

•	File Name-Shows the path and file name of a media element.

Import

To import a media element, you must select it in the Media list and click Browse to open the Import dialog box. The following options are available:

•	Show-Selects the type of files you want displayed in the File list.

•	Show Preview-Shows the preview of the media element in the Import dialog box.

•	Options-Opens the Import Options dialog box.

•	Import-Imports the media element you've selected.

•	Set Path-Changes the path for the selected file.


Menu commands

Click a menu name for more information:

File menu
Edit menu
View menu
Insert menu
Modify menu
Text menu
Control menu
Xtras menu
Window menu
Help menu


File menu

Click a command for more information:

New > File
New > Library
Open > File
Open > Library
Close > Window
Close > All
Save
Save As
Save and Compact
Save All
Import
Package
Preferences
Page Setup
Print
Send Mail
Exit


Edit menu

Click a command for more information:

Undo
Cut
Copy
Paste
Paste Special
Clear
Select All
Find
Find AgainOLE Object Links
OLE Object
Open Icon
Add to Display


View menu

Click a command for more information:

Current Icon
Menu Bar
Toolbar
Floating Panels
Grid
Snap to Grid


Insert menu

Click a command for more information:

Create Model
Load Model
Unload Model
Paste Model
Image
OLE Object
Sprite Icon


Modify menu

Click a command for more information:

Image Properties
Icon
File
Align
Group
Ungroup
Bring to Front
Send to Back


Text menu

Click a command for more information:

Font
Size
Style
Alignment
Scrolling Text
Preserve Line Breaks
Number Format
Navigation
Apply Styles
Define Styles


Control menu

Click a command for more information:

Restart
Stop
Play
Reset
Step Into
Step Over
Restart from Flag
Reset to flag


Xtras menu

Click a command for more information:

Library Links
Spelling


Window menu

Click a command for more information:

Control Panel
Inspectors
Presentation
Design
Library
Calculation
Functions
Variables
Buttons
Cursors
External Media Browser


Help menu

Click a command for more information:

Authorware Help
Help Pointer
Reference
Scripting
How To
Overview
Show Me
Troubleshooting
Web Links
About Authorware


New File

Choose New > File to create a new untitled file. If another file is open, Authorware closes it before creating a new one, allowing you to save changes.

Note: You can open and run Authorware files on any computer that can run Authorware. For example, you can create files on a Macintosh and open and work with them on an IBM-compatible personal computer. For more information about using Authorware files on different computers, see Compatible File Types.


New Library

Choose New > Library to create a new untitled library window. The first time you save the library, Authorware asks you to supply a name for the library.

Click an option in the library window for more information:

Note: You can use Authorware libraries on any computer that can run Authorware. For example, you can create a library on a Macintosh and use it on an IBM-compatible personal computer. For more information about using Authorware files and libraries on different computers, see Using Libraries.


Open File

Choose Open > File to open an Authorware file. If a file is already open, Authorware closes it before opening another file, allowing you to save your changes.

List of recent files

You can also choose File > Open to see a list of the Authorware files you've worked on recently. Each filename includes the file's path. Choose a file name to open the file. If you have another document open, Authorware prompts you to save your changes before closing the file.

Note: You can open Authorware files on any computer that can run Authorware. For example, you can open a file created on a Macintosh with an IBM-compatible personal computer. For more information about using Authorware files and libraries on different computers, see Opening a file.


Open Library

Choose Open > Library to open a library file. Use the dialog box that appears to select a library file. After you select and open a library file, the library window appears.

Click an option in the library window for more information:

When you link icons in an Authorware piece to a library, Authorware automatically opens the library when it opens the piece.

Note: You can open Authorware libraries from any computer that can run Authorware. For example, you can open a library created on a Macintosh with an IBM-compatible personal computer. For more information about using Authorware files and libraries on different computers, see Using Libraries.

Library entries

Change the icon's title, link name, or add a comment here.

ReadWrite status button

Authorware is preset to open a with read-write status, which means anyone can change it. You can change the library status so that no one can make changes. Click the ReadWrite Status button (pencil icon) to change the access status to read-only. A diagonal line appears on the button indicating read-only status. Authors can access the read-only library but can't make changes.

Note: The ReadWrite button is active only for previously saved libraries. It isn't available for unsaved libraries.

You might set a library to read-only access to ensure that it isn't accidentally changed or to allow multiple authors access to the library on a network without allowing them to change it.

Note: When you close a read-only library or change from read-only to read-write status, changes you made to the library are lost. If you've made changes to a read-only file and want to save them, save the library under a new name by choosing File > Save As.

Authorware authors on a network can work with library files as follows:

•	If a library is set to read-write status, only one author at a time can open and change a library file.

•	If a library is set to read-only status, multiple authors can open the library, but can't save changes to it.

Sort buttons and library window columns

Use the sort buttons (labeled Link, Icon, Title, Date, and Link Name) to change the display order of the library icon information in the window. Authorware is preset to display library icons sorted alphabetically by title. Click a sort button to sort the icons by that item. You can also sort the information in ascending (a to z, earlier date to later date, and so on) or descending order (z to a, latest date to earlier date, and so on) by clicking the Order button.

Note: When you make a change to a library entry, such as changing its title, Authorware doesn't resort the information until you click one of the sort buttons.

•	Link-Click the Link button to sort linked icons by title. The Link symbol indicates that a library icon is linked to one or more icons in the current piece. If no library icons are linked to the current piece, the button is dimmed.

•	Icon-Click the Icon button to sort icons by type, in the following order: display, interaction, calculation, digital movie, and sound.

•	Title-Click the Title button to sort the icons by title. Authorware is preset to display icons by title in alphabetical order. The order is either from a to z or from z to a, depending on the state of the Order button.

•	Date-Click the Date button to sort the icons by date. The Date entry shows the date the library icon was last modified. You can't change the date. The order is either from earliest to latest or from latest to earliest, depending on the state of the Order button.

•	Link Name-Click the Link Name button to sort icons alphabetically by link name. The Link Name column shows each library icon's link name, assigned when a library icon is placed in the flowline. The link name is the same as the title of the library icon unless you change it. The sort order is either from a to z or from z to a, depending on the state of the Order button

Condense/Expand button

Click the Condense/Expand button to switch the display of library items between condensed and expanded views. In the expanded view, an extra line for comments follows each icon's title. The comment line isn't available in the condensed view.

Order button

Click the Order button to change the sort order of the icons to ascending or descending order.


Close Window

Choose Close > Window to close the current window.


Close All

Choose Close > All to close all windows in the current file, including library windows. If you've made changes to a file, Authorware prompts you to save them.


Save

Choose Save to save changes to a file. Authorware checks the integrity of your file as it saves it. If your piece is untitled, Authorware prompts you to name the file and specify a folder location.

When you save a piece, Authorware adds the extension .A4P to your working file. When you save a library, it adds the extension .A4L. Models are saved with the extension .A4D.

Tip: It's a good idea to save your work often to ensure that you have your latest changes safely stored on disk.


Save As

Choose Save As to save a file or library as a new file with a different name. The newly created file remains open with the new name and your most recent changes. Authorware closes the original file without saving your changes.

Note: When you use the Save As command, Authorware removes unused space in the file, reducing the file size.


Save and Compact

Choose Save and Compact to produce smaller, optimized files. Authorware saves the file's contents as a new file, eliminating extra space within the file and rearranging data to provide faster access.

Note: Saving and compacting a file can take longer than saving with the Save command. When you package a piece, Authorware automatically saves and compacts your packaged piece.


Save All

Choose Save All to save all open documents (pieces and libraries) at once without activating and saving them individually.


Import command
Import

Choose Import to import text and graphics, sound, and movies directly into display or interaction icons.  When you choose the Import command, the Import dialog box appears. Use the dialog box to select the file you want to import.

To see a list of the types of files you can import into a piece, see Compatible File Types.

Tip: You can import more than one file at a time. To import multiple files, click the cross in the corner of the Import dialog box. The dialog box expands to show options for creating a list of files to import. The Files to Import list shows the files selected for importing. To add to the list, select a file and click Add. To add all the files shown in a folder or directory, click Add All. To remove a file from the import list, select the file name and click Remove. When you click Import, all the listed files are imported into the piece.

Click an option in the dialog box for more information:

Tip: As a convenient shortcut for importing, you can drag and drop files into a piece. You can also import files directly into the flowline and have Authorware create a new icon, assign a name based on the filename, and place the file's media within the new icon.

File of Type

Select a file format from the Files of Type menu to display files with a specific format in the list.

Show Preview

Select Show Preview and click Create to see a thumbnail of the contents of the file.

Link to File

Select the Link to File option to import a file by reference into your piece. The file contents appear within the piece, but aren't actually stored within the file. Authorware creates a link that allows it to retrieve and place the file contents within a piece whenever necessary. You can then edit linked files with the application that created them, and the revisions to the linked file are updated to your piece automatically.

Show Me: External

Import

Click Import to import a copy of the file into the Presentation window.

Imported graphics appear in the center of the display. Bitmapped objects appear in Opaque mode. For more information about modes, see Modes.

Immediately after importing you can use the pointer or the arrow keys to move the imported text or graphics.

Note: If you select a text object in your piece and import text, the imported text flows into that object. If you don't select a text object, Authorware creates a new text object. If you saved the imported text as an RTF file, Authorware retains most formatting information of the text. If the imported text has page breaks, you can automatically create a new icon for each page. You can also determine whether text is imported into normal text objects or scrolling text fields. For more information, see Imported text.


Imported text

You can import text from most wordprocessing applications and retain formatting information such as character attributes, styles, and text indents. To keep formatting information, save the file in the Interchange format or rich text format (RTF) in the wordprocessing application.

Authorware retains the following formatting information:

•	Character-Font, size, style, and color

•	Paragraph-Margins, spacing, indents, justification, and tabs

•	Style sheets-Named styles that consist of a combination of character attributes

You can't import formatting information for headers, footers, footnotes, tables, and columns, although the text of these components is imported.

You can import text into a display icon in two ways: as a new object in the center of the page, or into a selected text object. You can use the Text tool to create a text object and size the text object to the margins you want. When you select the object and import the text, the text flows within the object's margins.

If imported text includes page breaks, Authorware can automatically create a new icon for each page when you import the text. If you import multiple pages into a single icon, Authorware creates one text block for every 32K of text. You can determine whether to import text into standard text objects or scrolling fields. For more information, see Scrolling Text.


Importing RTF files
RTF Import dialog box

When you import an RTF file, Authorware displays a dialog box in which you select the way page breaks are treated and the type of text object the text will appear in.

The dialog box has the following options:

Hard Page Break

•	Ignore-Select this option to ignore page breaks and import all text into a single icon. If the text is longer than 32K, Authorware creates one text block for every 32K of text.

•	Create New Display Icon-Select this option to create a new icon for each page in the RTF file.

Text Object

•	Standard-Select this option to place the imported text in a normal text object.

•	Scrolling-Select this option to place the imported text in a scrolling field. This option is useful for displaying large amounts of text. For more information, see Scrolling Text


Compatible file types

You can use files of many different types in your Authorware pieces. Some file types work on both Macintosh and Windows computers. Others work only on one computer type.

In some cases, you are restricted in the kind of files you can import into your piece. Although a particular file type may run on both Macintosh and Windows computers, you may not be able to import it on both. For example, you can run DIB or BMP sequences in your pieces on both Macintosh and Windows computers. However, you cannot import a DIB movie into your piece using a Macintosh computer.

Authorware supports the following file types:

File formats that can be played back on both Macintosh and Windows computers:

•	Movie formats: DIB, FLC, FLI, CEL, QuickTime, Director movies, MPEG, and PICS

On a Power Macintosh computer, you can play back MPEG movies if you have the following software: System version 7.1.2 or later, QuickTime version 2.5 or later, QuickTime MPEG Extension version 1.0 or later version, and Thread Manager version 2.1.5 or later version installed. You cannot play back MPEG movies on Macintosh computers  that have 680x0 processors. You also cannot playback MPEG movies on computers running Windows with QuickTime for Windows. For more information about playing MPEG movies on a Power Mactinosh with QuickTime, contact Apple Computer at http://quicktime.apple.com.

On a computer running Windows, you can import DIB, FLC, CEL and BMP or DIB sequence formats, but you cannot import PICS movies, although this format runs on both Macintosh and Window computers.

On a Macintosh computer, you can import PICS movies, but you can't import FLC, FLI, CEL and BMP or DIB sequence formats.

•	Sound formats: PCM, AIFF, WAVE

•	Image formats: PICT, TIFF, LRG, GIF, PNG, BMP, RLE, DIB, JPEG, Photoshop 3.0, TGA

Note: To import or play back PICT image files on a computer using Windows, you must have QuickTime for Windows installed. To view PICT images on a Macintosh computer, you must have QuickTime installed. (QuickTime comes pre-installed in System version 7.0 or later.)

File formats that work on Windows computers only:

•	Movie formats: AVI movies

Note: You can import and play back MPEG movies on a Windows computer if the computer has an MPEG play back card and appropriate driver software installed.

•	Image formats: WMF, EMF (EMF for Windows 95 and Windows NT only)


Imported graphics

Authorware supports the following graphic file types for Windows computers:

WMF	PNG
PCX	GIF
TIF	JPG
PIC	Windows and OS/2 bitmapped graphic files (BMP, DIB, LRG and RLE).
Photoshop 3.0
Authorware supports the following graphic file types for the Macintosh:

GIF	BMP
JPG	DIB
LRG	PCM
PICT	PNG
Photoshop 3.0	Targa
AIFF	TIFF
You can include both object-oriented and bitmapped graphics in your piece. You can mix both types in a piece as needed and edit them in the Presentation window. You can edit object-oriented graphics individually, and enlarge and reduce groups of objects or the whole graphic.

Tip: Enlarging and reducing bitmapped graphics can distort them.

Note: Authorware uses Xtras to import different graphics and image formats. The Xtras are stored in the Xtras folder in the same folder or directory as Authorware. If these Xtras are missing, you won't be able to import graphics into an Authorware file. If you need to reinstall them, use the Authorware installer program.


Package

Choose Package to set up the properties for a packaged version of your piece.

Note:  If a library window is active when you choose the Package command, the Package Library dialog box appears.

Click an option in the dialog box for more information:

Package File

•	Without Runtime-Select this option if you know your users will have access to the runtime application, which is required to run your piece.

•	For Windows 3.1-Select this option to include the RunA4W software in the Authorware file so that it can run by itself on computers using Windows 3.1, Windows 95, or Windows NT.

•	For Windows 95 and NT-Select this option to include the RunA4W software in the Authorware file so that it can run by itself on computers using Windows 95 or Windows NT, but not on computers using Windows 3.1.

Resolve Broken Links at Runtime

Broken links are misdirected references to icons whose IDs have changed, typically because the icon was cut and later pasted. As long as the icon type and the link name haven't changed, Authorware can relink such icons.

If you select this option, Authorware automatically reconnects broken links when the user runs the piece, so that all content appears correctly. Resolving broken links is a good idea, although it may require additional processing time.

If you turn off this option, Authorware doesn't check for broken links. Turn off this option when you know no changes will be made to packaged libraries. If broken links exist, Authorware won't display the contents of the affected icons, but the piece will run normally otherwise.

Package All Libraries Internally

Select this option to package linked library icons as part of the piece and avoid packaging each library separately. Authorware adds a copy of each linked icon to the piece. Including all libraries internally reduces the number of files you must distribute with your piece, thereby making distribution and installation easier. However, packaging libraries this way increases file size.

Use Default Names When Packaging

Select Use Default Names When Packaging to automatically create a name for the packaged piece. Authorware uses the filename, adding the extension .A4R if the runtime file is not included. For libraries, the extension is .A4E.

If you don't select this option, Authorware displays a dialog box that allows you to specify a filename. After displaying the packaging options for libraries, Authorware prompts you for the library names.

Save Files & Package

Click Save Files & Package to start the packaging process. A dialog box appears in which you can select packaging options.

If you select the Use Default Names When Packaging option, Authorware automatically uses the filename and adds the extension to a file.

For Windows versions of your package, the file is given the .exe extension if the runtime module is included. If the runtime module is not included. the file receives the extension .A4R.

For Macintosh versions of your package, the file is given the .PKG extension if the runtime module is included. If the runtime module is not included, the file receives the extension .A4R.

Packages libraries are given the extension .A4E for both Windows and Mactinosh versions.

If you did not select the Package All Libraries Internally option, Authorware packages each of the libraries separately. A dialog box appears for each unpackaged library so that you can select packaging options for it. For example, if your piece references three libraries, Authorware displays the Package Library dialog box three times.


Package Library

If you choose the Package command when a library file is active, the Package Library dialog box appears.

Click an option on the Package Library dialog box for more information:

Referenced Icons Only

Select the Reference Icons Only option to package only those icons that are linked to the current piece.

Use Default Name

Select the Use Default Name option to create a name automatically for the packaged library file by using the filename and adding the extension .A4E. If you don't select this option, a dialog box appears in which you can specify a packaged library file name.

Save Files & Package

Click Save Files & Package to start the packaging process. A dialog box appears in which you can select packaging options.

If you select the Use Default Names When Packaging option, Authorware automatically uses the filename and adds the extension to a file.

Packaged libraries are given the extension .A4E.


Preferences

Choose Preferences to select video hardware options. The Preferences dialog box appears.

Click an option in the dialog box for more information:

Note: If you don't select video hardware options, or if your selections don't match your computer system, an error message appears when a piece runs that contains a video icon. If you see this message, use this command to specify your video configuration.

Video Overlay

To play video on the computer screen, you typically must have a video overlay card installed on your computer and select the corresponding card name from the Video Overlay option. (If you plan to display video on an external monitor connected directly to the video player, you don't need an overlay card.)

If you've installed Authorware video card driver files in your Authorware folder, card names also appear in the Video Overlay list. You can install these drivers using the Authorware Installer. Authorware supports several overlay cards.

Be sure that you've also installed the video overlay card software that works with your card. For more information about your video overlay card and its software, see the documentation that came with the card.

Note: Video overlay cards use a chroma-key color, so that video shows through the chroma-key-colored object on the screen.

Video Player

Select your player from the Video Player menu. Authorware supports several players for both Macintosh and Windows computers, including players that use the CLV format.

If you've installed video player driver files in the Authorware folder, video players appear in the list. Use the Authorware Installer to install these drivers.

Authorware supports some constant linear velocity devices (CLV) as well as constant angular velocity devices (CAV). A CAV device, such as a record player, rotates at a constant speed, which means that the outside tracks must hold the same amount of data as the inner tracks. By adjusting the motor speed to compensate for the head position, CLV devices make it possible to store the maximum amount of data on each track, which greatly increases storage capabilities. However, random access is much more difficult at variable motor speeds, resulting in slower access times. In general, CLV devices work best with continuous audio or video tracks.

Video Port

Select the port on your computer that the video player is connected to.

If you don't select the correct video options, or if you don't connect the hardware properly, Authorware displays an error message when it encounters a video icon while running the piece or while you're editing video icon options. The user sees a similar message if the video player isn't properly connected to the computer.


Page Setup

Choose Page Setup to select standard printer and page formatting options for printing your piece.


Print

Choose Print to print all or portions of your piece. A Print dialog box appears in which you can select print options. You can also print a variety of information about the piece.

Click a part of the Print dialog box for more information:

Design windows

Select Design windows to print the main flowline and all map icon flowlines as they appear on the screen.

Icon Options

Select Icon Options to print the options you set up for each icon in the piece.

Index

Select Index to print a list of the icons in the piece, including the icon title and its page number.

Cross-reference Custom Variables

Select Cross-reference Custom Variables to print a summary of a piece's custom variables. Authorware prints the variable description, initial value, and a list of icons that use the variable.

Display Text and Graphics

Select Display Text and Graphics to print the text and graphics contained in the piece. You can crop the graphics, print miniature versions as thumbnail size graphics, or print graphics full size.

•	Crop-Select this option to save space by removing extra white space around the graphics in each display. When you select Crop, the Include Thumbnails option becomes available.

•	Include Thumbnails-When you select the Crop option you can select Include Thumbnails to print a small Presentation window for each display that shows where the graphics appear on screen.

•	Full Size-Select this option to print each display full size as it appears in the Presentation window. If images are larger than can fit the paper size you've selected, the image is reduced to fit. Note: This option may require printing many pages to reproduce an entire piece. It's recommended that you select this option when printing specific displays by choosing the For Selected Icons Only option.

Print as Screen Image

Select Print as Screen Image to print displays and digital movies exactly as they appear on the screen.

To print displays and images more quickly, deselect this option. Displays and digital movies are then plotted directly to the printer, usually resulting in faster printing. Printed images may not match the screen image, however, because the printer may not have access to the fonts used in the screen image.

First Movie Frame Only

Select First Movie Frame Only to print only the first frame of a digital movie rather than all the movie's frames. This option works for internally stored movies only.

For Selected Icons Only

Select For Selected Icons Only to print only selected icons instead of the entire flowline. Select the icons you want to print before choosing the Print command.


Send Mail

Choose Send Mail to send an Authorware file or library as attachments to e-mail messages. First click in the window holding the information you want to send, then choose Send Mail. Follow the instructions in the dialog boxes that appear.

You can send Authorware files and libraries as attachments to mail messages from within Authorware. For this to work, you and the recipient both needs e-mail that complies with the Messaging Application Programming Interface (MAPI).


Exit

Choose Exit to stop using the Authorware application. Authorware closes any open files.


Undo

Choose Undo to undo your last action.


Cut

Choose Cut to remove the selected item and put it on the Clipboard. You can select and cut one or more icons on the flowline, objects from a display or interaction icon, or the contents of a calculation icon. The Cut command retains text formatting information, so pasted text contains the same formatting that it had before it was cut. The command doesn't retain formats for headers, footers, footnotes, tables, and columns.


Copy

Choose Copy to place a copy of the selected item on the Clipboard. You can select and copy one or more icons on the flowline or objects in the Presentation window. Authorware supports copying text with formatting information such as character styles, paragraph information, and style sheets. The command doesn't copy formats for headers, footers, footnotes, tables, and columns.


Paste

Choose Paste to place a copy of the Clipboard contents at the cursor location. You can paste an item as many times as you like. If you copy or cut another object to the Clipboard, it replaces the previous object.

Authorware supports copying and pasting text with formatting information, such as character styles, paragraph information, and style sheets. It doesn't retain formats for headers, footers, footnotes, tables, and columns.

If you copy objects from another icon's display, the objects appear in the same locations when you paste them into a different icon.

If you copy objects from another application (outside of Authorware), you can select a position for the objects before you paste. To position objects in a display or interaction icon, click in the Presentation window where you want the objects to appear. When you paste, the objects are centered on the point where you clicked. Pasted objects appear selected so that you can move or edit them.

To paste icons into the flowline, click where you want them to appear. When the  Paste Hand appears, indicating where the icons will be pasted, choose the Paste command.

Note: Use the Clipboard to copy and paste an object from another application (OLE object) into your Authorware piece, creating an embedded object. Use the Paste Special command to copy an OLE object. OLE objects appear with handles that look different from those of objects created with the Authorware toolbox.

You can also place OLE objects with the OLE Object command on the Insert menu.


Paste Special

Choose Paste Special to select the format of the Clipboard contents to be pasted into a piece. When you choose Paste Special, a dialog box appears in which you can select a format. You can choose among formats including Native, OLE Object, Picture (Metafile), and Bitmap.

Click an option in the dialog box for more information:

Note: This command is useful for selecting formats for OLE objects that you are linking or embedding in a piece. You can use Paste Special for any objects you paste. You can also display a pasted OLE object as an icon. For more information about OLE objects, see OLE Object.

Paste

Select Paste to paste an object into the current display using the format selected in the As list box. The pasted object becomes part of the piece.

If the object is an OLE object, pasting creates an embedded object. If you later change the object in the original file, the object in the Authorware piece isn't updated with the change, and vice versa.

Note: You can edit embedded OLE objects from within Authorware, using the interface of the application that created the object.

Paste Link

Select Paste Link to paste a linked OLE object in the piece with the format selected in the As list box. If you change the object in the original file, the linked object in your Authorware piece is updated with the change. When you open a linked object for editing, Authorware automatically opens the original application.

Result

The Result area shows the kind of object created by pasting, according to your selection of the Paste or the Paste Link options and the paste format.

Display as Icon

Select Display as Icon to display a pasted OLE object as an icon.

A pasted OLE icon can play a sound or display information when the user clicks it. For more information about how to define such interactivity, see Object submenu.

Selecting Display as Icon produces an icon of the object's source application . The Change Icon button appears. To change the object's source icon, click the Change Icon button and use the Windows Icon browser to select a different icon.

Change Icon

Click Change Icon to select another icon for the selected OLE object or to create and use your own icons. The Change Icon dialog box appears.

Note:  This button appears only if you select the Display as Icon option.

The Change Icon options include the following:

•	Current-Displays either the default icon (as defined by the source application) or the icon you assigned previously.

•	Default-Changes the icon back to the source application icon.

•	From File-Displays the icons available in another file.

•	Label-Changes the label that appears with the icon. The default label is usually the name of the application that created the object.


Clear

Choose Clear to remove a selected item from the display. Unlike Cut, Clear doesn't put the item on the Clipboard. You can also press the Delete key to remove selected items this way.


Select All

Choose Select All to select all the icons on the flowline or all the objects in a display.


Find

Choose Find to search for and change text within text objects, calculation icons, keywords associated with icons, and icon titles.

Click an option in the dialog box for more information:

The Find command doesn't find text in OLE objects or library icons that are linked to your piece. You can find text in library icons by activating the library window you want to search and then choosing Find.

Find field

In the Find field, type or paste the text you want to locate.

You can use the asterisk (*) and question mark (?) wildcard characters to search for text. Enter an asterisk to search for an unspecified word or part of a word. Enter a question mark to search for an unspecified character. For example, searching for the text "Sm?th", locates words such as "Smith" and "Smyth". Searching for the text "* Smith" locates two-word groups such as "Jane Smith," "John Smith," and "Ms Smith."

Change To

In the Change To field, type or paste the text you want to replace the found text.

Search list

Use the Search list to specify where Authorware should look for text.

•	Filename-Searches all icons in the file identified by the filename and any extension. If a library window is selected, this option shows the library name and extension.

•	Current Design window-Searches only icons and maps in the currently open Design window.

•	From Paste Hand-Searches all icons from the position of the Paste Hand in the Design window. This option is available only if a Paste Hand is in the Design window.

•	Between Flags-Searches all icons between the start and stop flags. If only one flag is in the flowline, Authorware searches from the start flag to the end of the flowline, or from the beginning of the flowline to the stop flag. This option is available only if a flag is in the Design window.

Icon Titles

Select Icon Titles to search for icon titles. When Authorware finds the icon title, it highlights the title.

Display Contents

Select Display Contents to search for text within display and interaction icons. When Authorware finds the text, it opens the Presentation window and highlights the text.

Calculations

Select Calculations to search within calculation icons. When Authorware finds the text, it opens the calculation window and highlights the text. Calculation windows close automatically after being searched.

Keywords

Select Keywords to search icons for keywords. When searching for keywords, Authorware displays and highlights any matches. You can use the options in the Find dialog box to make changes to the found keywords.

For more information about using keywords, see Keywords.

Note: You can also use the Keywords function to find all the keywords for an icon.

Whole Word

Select Whole Word to search for whole words only (not combinations of characters within words). For example, if you search for the word "resident" using the Whole Word option, Authorware will locate the word "resident," but not the word "president."If you don't select this option, Authorware finds all instances of the characters you specified, even if they are part of another word.

Match Case

Select Match Case to search for characters that match the characters and capitalization you specified. For example, if you search for "President," Authorware won't locate "president."  If you don't select this option, Authorware finds all instances of your characters without regard to capitalization.

Backwards

Select Backwards to change the direction of the search.  The search starts from the last icon or position indicated by a stop flag or Paste Hand and searches back toward the first icon, flag, or beginning of the window. For example, if you are searching the Design window, Authorware begins the search with the last icon in the window and moves to the first icon.

Find

Click Find to start the search.

Change

Click Change to replace text found during the search with text in the Change To field.

Change All

Click Change All to replace all occurrences of the search text with the text in the Change To field. Authorware finds the text and changes it automatically throughout specified window or icon. To cancel the search, press the Escape key. Authorware keeps all changes made up to the point when you pressed Escape.

Done

Click Done to close the Find dialog box.


Find Again

Choose Find Again to continue the search without changing the currently located match. The search continues without displaying the Find dialog box.


OLE Object Links

Use the OLE Object Links command to see a list of OLE objects used within the piece and their links. A dialog box appears listing all the OLE objects linked to the piece, showing their file names, file types, and update method. You can use this dialog box to update OLE objects with changes, to open the OLE object source file and make changes, change the source file for an OLE object, and break the link between the OLE object and the source file so that the object is stored internally.

Click an option for more information:

Links list

The links list shows each linked OLE object's source file name, file type, and method of updates. Click an OLE object in this list to select it and change its settings.

Source, Type, Update

The Source and Type fields show the selected OLE object's source file name and file format. Click the automatic or manual buttons to specify whether you want the object to update automatically, whenever the peice is opened, or manually, when you select it and click the Update Now button.

Update Now

Use the Update Now button to transfer changes that you've made in a OLE object source file to the object in your piece.

Use this option to update OLE objects in your piece after making revisions to them in another application. You can set Authorware to update an OLE object automatically when the piece opens, or update objects manually by selecting them in this dialog box and clicking the Update Now button. The OLE object then appears in the piece with the changes you made.

Open Source

Use the Open Source button to open a selected OLE object's source file and edit it using the original application. Select the OLE object you want and click Open Source. Authorware opens the source file in the application it was created with. You can then make changes and save the file.

Change Source

Use the Change Source button to change which source file an OLE object is linked to. For example, if you've created a different version of an image, you can select the OLE object in the list, and then click the Change Source button to specify the new file version you want.

Break Link

Use the Break Link button to break the link between an OLE object and the piece. If you no longer want an OLE object linked externally to your piece, you can break the link to have the object stored internally. Select the OLE object and the click Break Link.


Object submenu
OLE Object

The OLE Object submenu contains the commands you use to manipulate a selected OLE object. You can the Open or Edit command to open the object using the application that created it and make changes.

You can also define what the object does, define its interactivity in a packaged piece, convert its format, and convert it to a bitmapped graphic.

Click a command for more information:

Attributes
Convert
Make Static

Note: Depending on the type of object you select, the command changes to identify the object. For instance, if you select a WordPerfect object, the command changes to Linked Document OLE Object. If you select an Excel object, the command becomes Linked Spreadsheet OLE Object. If you haven't selected an object, only the Make Static command is available.


Attributes command
Attributes

Choose Attributes to set up interactivity for a selected OLE object in a packaged piece. The Attributes dialog box appears. Use the options in this dialog box to specify whether an object is interactive, how the interactivity is triggered, and what type of interaction occurs.

Click an option in the dialog box for more information:

Activation Trigger

If you selected the Package as OLE Object option, these options determine how interactivity is triggered.

•	None-Prevents an OLE object from responding automatically to the user's click. You can activate the object manually by using the system function OleDoVerb to trigger the object.

•	Single-Click-Allows the OLE object to respond when the user clicks it.

•	Double-Click- Allows the OLE object to respond when the user double-clicks it.

Trigger Verb

Use this option to select the verb that will be activated when the user clicks the OLE object. For more information, see Object Verbs.

Package as OLE Object

Select Package as OLE Object to make an OLE object interactive in the packaged piece. To set up what the object does and what causes the object to do it, select an option from the Trigger Verb and the Activation Trigger options.

Note:  If the packaged piece contains OLE objects, make sure that users will have the A4WOLE.DLL file and OLE 2.0 or later version installed on their systems.


Convert

Choose Convert to change an embedded or linked OLE object's format to the format of another application so that you can edit it with that application. Choosing Convert displays the Convert dialog box, in which you specify what format to covert the OLE object to.

This feature is useful when you need to edit objects using a different application, or want to take advantage of the features of another application. For example, if an Authorware piece contains an Excel object, you could convert it to a Lotus 1-2-3 format and use Lotus 1-2-3 to change it. Use the same procedure to convert the object back to its original format.

You can convert the selected object's format either permanently or just for the current session. You can also redefine whether to display the object in its fully rendered form or as an icon.

Click an option in the dialog box for more information:

Convert To

Convert To

Select Convert To to convert the selected object to a format in the Object Type list. This list contains all the supported formats available for the current object. Which formats appear in this list depend on the applications you've installed on your system.

Activate As

Select Activate As to temporarily convert a selected object's format to another object type in the list. When you finish changing the object, its format reverts to the original application's format.

Result

The Result area contains more information about the results of your selections.


Display as Icon (Convert dialog)
Display as Icon

Select Display as Icon to display the Change Icon button.

Click Change Icon to display the converted OLE object as an icon. If you changed the object's format to that of a different application, that application's icon appears. To change the icon, click Change Icon button to display the Change Icon dialog box and select a new icon.


Make Static

Choose Make Static to permanently convert an OLE object selected in the current Presentation window into a bitmapped graphic. This command is useful when you've finished editing an object and you don't want the object's OLE information in the unpackaged piece. The command removes all OLE information from objects; you can't recover their original OLE attributes later.

Important: If no Presentation window is active, the Make Static command converts all OLE objects in the selected icon to bitmapped graphics.


Open Icon

Choose Open Icon to open a selected icon. The window or properties dialog box associated with the icon appears. For example, when you open a display icon, the Presentation window opens. When you open a calculation icon, the calculation window opens. When you open a motion icon, the properties dialog box for motion options appears. This command is available when you select a single icon in a flowline. You can also double-click an icon to open it quickly.


Add Icon
Add to Display

Choose Add to Display to open the content editor for the selected icon and add its contents to that of the previous Presentation window. It is available when you select a single display, framework, interaction or movie icon in a flowline.


Current Icon

Choose Current Icon to move quickly from the Presentation window to the Design window. Authorware highlights the icon whose contents were displayed the Presentation window.


Menu Bar

Choose Menu Bar to hide or display the Authorware menu bar. (In Windows, this command is only available during runtime when the window  is maximized.) When Authorware opens a new file, it displays the menu bar. The menu bar command appears checked in the View menu. You can hide the menu bar by choosing the checked menu bar command. To redisplay the menu bar later, press Command-Option-Shift-M or close the file and reopen it.


Toolbar

Choose Toolbar to display the toolbar. Click the buttons on the toolbar as a convenient shortcut for choosing commands from menus. To hide the toolbar, choose the command again.

Click a toolbar button below for more information:

New File

Click New File to create a new file. For details, see New File.

Open

Click Open file to open a file. For details, see Open File.

Save All

Click Save All to save all open files. For details, see Save All.

Import

Click Import to import a file. For details, see Import.

Undo

Click Undo to reverse your last action. For details, see Undo.

Cut

Click Cut to cut the selected item. For details, see Cut.

Copy button

Click Copy to copy the selected item to the Clipboard. For details, see Copy.

Paste

Click Paste to paste an item from the Clipboard. For more information, see Paste.

Find

Click Find to search for text. For more information, see Find .

Text Styles list

Select one of the styles from the Text Styles list to apply it to selected text. For more information about styles, see Apply Styles.

Bold

Click Bold to make the selected text bold. For more information, see Text Style submenu .

Italics

Click Italics to make the selected text italic. For more information, see Text Style submenu .

Underline

Click Underline to underline the selected text. For more information, see Text Style submenu.

Restart/Restart from Flag

Click Restart/Restart from Flag to run the piece. If you inserted a start flag, Authorware runs the file from the flag. For more information, see Restart and Restart from Flag.

Control Panel

Click Control Panel to display the Control Panel. For more information, see Control Panel.

Functions Window

Click Functions Window to work with functions in the Functions dialog box. For more information, see Functions.

Variables Window

Click Variables Window to work with variables in the Variables dialog box. For more information, see Variables .

Help Pointer

Click the Help Pointer button to change the cursor into the Help pointer. Click an item with the Help pointer to see information about it in Authorware Help.


Floating Panels

Choose the Floating Panels command to display or hide Authorware floating panels, such as the Control Panel and Inspector panels. If floating panels are open, choosing this command hides them, and vice versa.


Grid

Choose Grid to display a reference grid in the Presentation window. Use the grid to position objects precisely. If the grid is displayed, choose Grid to hide it.

Grid lines don't appear in the packaged piece.


Snap to Grid

Choose Snap to Grid to restrict any object you move or draw to the increments of the grid. This option is useful for positioning objects accurately and consistently in the Presentation window. To turn off this option, choose Snap to Grid again.


Create Model

Choose Create Model to create a model composed of the icon or group of icons you select in the Design window. The Model Description dialog box appears. Enter a model description of up to 31 characters and click OK.

Authorware next displays a dialog box for naming and saving the model on disk. Enter a filename, select the folder location of the model, and save the model.

Authorware stores the model file. The model is listed in the Paste Model submenu in the Insert menu. (The Paste Model submenu is active only in the Design window.) You can now paste copies of the model into your piece as often as needed. Set a Paste Hand in the flowline where you want the model and choose the model from the Paste Model submenu of the Insert menu.

Note: If a model uses variables, and those variable names are the same as variables already in your piece, Authorware allows you to select whether variables should be renamed to avoid conflicts.


Load Model

To paste a previously created model into a piece, first load the model. Choose Load Model and, when a dialog box appears, select a model to load.

The  dialog box contains the following options:

•	Load-Click Load to load the selected model. The model description now appears in the Paste Model submenu, ready for you to paste into your piece.

•	Info-Click Info to see the description of the model you selected.

Note: If you load a model that uses custom variables that have the same names as custom variables already in the piece, Authorware prompts you to select custom variables for renaming to avoid mixing up values.


Unload Model

Choose Unload Model to select and remove a model from the Paste Model submenu. The model isn't deleted from the computer, only removed from the submenu. You can reload it when you want.

Authorware displays the Unload Model dialog box, which shows the filenames, paths, and descriptions of models currently listed on the Paste Model submenu. Select a model and click Unload to remove the model from the submenu.


Paste Model

Choose Paste Model to display a submenu listing the models you've created or loaded. To paste a model, place a Paste Hand in the flowline where the model should appear, and then select the model from the Paste Model submenu.

The model is inserted below the Paste Hand. If you are pasting the model in a decision or interaction icon, and if the model contains decision, interaction, or framework icons or more than one icon, the model automatically appears in a map.

Note: The Paste Model submenu also lists templates that you can use to build your own pieces. These templates provide ready-made functions, such as log on functionality, skill assessment, and course administration for creating courses. You can paste in the templates and modify them to work with your piece.


Image

Choose Image to insert a graphic element in a display icon. This command opens the Properties dialog box for image properties. You can then select options for the look and positioning of an image and import an image saved on disk. This command is available only when the graphics toolbox is open.

For more information about image properties, see Image Properties.

For more information about importing files, see Importing a graphic.


Object submenu
OLE Object

Use the OLE Object command to insert an OLE object or open an application to create an OLE object in your piece. The OLE Object dialog box appears.

Click a dialog box option for more information:

Create New

Create From File

Display as Icon

Link

Create New

Use the Create New option to open an application to create an OLE object in your piece. Select an application or file type from the Object Type list. When you click OK, Authorware inserts a new OLE object in the Design window and opens the selected application so that you can create the object.

Create From File

Use the Create From File option to insert an OLE object in an existing file into your piece. You can enter the files name and path in the File field, or click the Browse button and select the file.

Display as Icon

Turn on the Display as Icon option to show an object containing the application icon in your piece instead of the actual object. Showing objects as icons can help you tell them apart and determine which objects are linked or should be edited using another application. When you turn on the Display as Icon option, the Change Icon button appears. You can click the Change Icon button to specify a different icon to appear in the OLE object rather than the default application icon.

Link

Use the Link option to specify whether the OLE object is stored internally to the piece or linked externally to a source file.


KOLE objects, functions relating to
Functions related to OLE objects

The following functions are useful when you are working with OLE objects:

OleDoVerb-Activates the given verb for the first OLE object in the specified icon

OleGetObjectVerbs-Lists all verbs that apply to the first OLE object in the specified icon

OleGetTriggerVerb-Identifies the trigger verb of the first OLE object in the specified icon

OleSetTriggerVerb-Assigns a trigger verb to the first OLE object in the specified icon

OleGetTrigger-Identifies the trigger for the first OLE object in the specified icon

OleSetTrigger-Assigns a trigger to the first OLE object in the specified icon

OleIconize-Determines whether the first OLE object in the specified icon is shown as an icon or is fully displayed

OleSetAutoUpdate-Determines whether the first OLE object in the specified icon is updated automatically or manually

OleUpdateNow-Updates the first linked OLE object in a display


Object verbs

Object verb commands let you define what an OLE object does or how to work with it. When you select an OLE object, command verbs for that object appear at the top of the Object submenu. For example, the Play verb appears in the menu when you select a digital movie and allows you to play the movie. The Open verb appears when you select graphic and text objects allowing you to open them for editing in another application. The Edit verb allows you to edit embedded graphic and text objects calling up another application's menus, toolbars, and other controls temporarily to replace the Authorware interface. (When you finish editing, click outside the object to restore the Authorware interface.)


Icon submenu
Icon

You must select an icon to make the commands in the Icon submenu active.

Click a command for more information:

Properties
Decision Path
Response
Calculation
Transitions
Keywords
Connections
Library Links


Icon Properties
Properties

Use the Properties command to edit the behavior and appearance of icons. First select an icon in the Design window, and then choose Modify > Properties.

The Properties dialog box changes to show different options depending on the type of icon selected. To see the properties for a specific icon, click the icon below:

Display icon properties

Motion icon properties

Erase icon properties

Wait icon properties

Navigate icon properties

Framework icon properties

Decision icon properties

Interaction icon properties

Calculation icon properties

Map icon properties

Digital movie icon properties

Sound icon properties

Video icon properties

Sprite icon properties


Decision Path

Choose Decision Path to modify the properties of a specific decision path. Select an icon that is attached to a decision icon and choose Decision Path. The Decision Path Properties dialog box appears.


Response command
Response

Choose Response to modify the properties of a particular response. Select an icon attached to an interaction icon and choose the command. The Response Properties dialog box appears.

The Response Properties dialog box changes depending on the response type:

 Button

 Hot Spot

 Hot Object

 Target Area

 Pull-down Menu

 Conditional

 Text Entry

 Keypress

 Tries Limit

 Time Limit

 Event


Calculations
Calculation

Choose Calculation to attach a calculation to a selected icon or open a selected icon's calculation window. When you choose this command, a calculation window opens in which you can enter statements and expressions. The title bar of the calculation window shows the selected icon's title. When you attach calculations to an icon, a small equal sign (=) appears over the left corner of the icon in the Design window. You can double-click the equal sign to open the calculation window.

For more information about calculations, see  Calculation icon.


Transition

Choose Transition to select or change the transition associated with an icon. The Transition dialog box appears.

Click an option in the dialog box for more information:

Note: The total number of transitions available for use with a piece depends on the Transition Xtras available in the Authorware Xtras folder. Authorware provides a long list of transitions available for use. You can also install Transition Xtras from independent developers.

Distributing transition Xtras

When you distribute a piece, remember to provide users with the Xtras that you've used. These Xtras must be installed in the Xtras folder within the folder that contains the Authorware runtime application.

Categories

The left side of the Transition dialog box shows a list of transition categories. When you select a category, the individual transitions within the category appear in the Transitions list. Select different categories to see the available transitions. Choose Select All to view all available transitions.

Transitions

After selecting a transition category, select the transition you want from the Transitions list. To remove the current transition, select None from the Internal category.

Xtras file

The Xtras file information shows the transition's file name and directory path which you can use to determine which transition Xtras must be distributed with your piece.

Duration

Use the Duration field to specify how long the transition will take.

Smoothness

Use the Smoothness field to set the smoothness (or granularity) of the transition. Use 0 to obtain the smoothest transition; use higher numbers to obtain coarser transitions.

Affects

Use the Affects field to specify whether you want the transition to affect the whole Presentation window or affect only the area within the boundaries of displayed objects. Select Entire Window to have the transition affect the entire window. Select Changing Area Only to have the transition affect only the area occupied by objects.

Options

The Options button is available only for specific transitions. Clicking Options displays a dialog box with options that modify the selected transition. Such options are typically available for transitions provided by independent developers.

Reset

Click Reset to reset a transition's duration, smoothness, and options to their default settings. Reset also changes the transition to use the Changing Area Only option.

Apply

Click Apply to see the selected transition used on the currently displayed objects. After viewing the sample transition, you can determine whether to change the transition options.

About

Click About to see information identifying the developer of the transition. The button is dimmed when additional information isn't available.


Keywords command
Keywords

Choose Keywords to attach keywords to icons. The Keyword dialog box appears and you can enter the keywords you want to associate with the icon. You can use keywords to find information as you edit your piece, and users can use them to locate information as they view the piece.

Click an option in the dialog box for more information:

Use the dialog box to attach keywords to the selected icon in two ways:

•	Attach keywords by entering them individually

•	Review a list of the keywords currently used in the piece and select specific ones to attach to the current icon.

Tip:  Keywords in a piece provide users an easy way to search for information. The more keywords you use, the more likely users are to find the information they want. For example, if you've included many digital movie clips in a piece, you could assign several keywords to each movie, such as the country the movie was made in, the director's name, the main actors' names, and the type of movie. Users can then search for movies by a particular director, movie type, or other criteria.

Keywords for This Icon

The Keywords for This Icon list shows the keywords already attached to the selected icon. Keywords appear in alphabetical order. Select keywords in this list to modify or remove them.

Tip:  To select a range of keywords, hold down the Shift key as you drag over or click the desired words. To select several keywords that aren't next to each other, hold down the Control key as you click the each word.

Keyword

Enter a keyword in this field and click Add to attach the keyword to the selected icon. If you select a keyword from the Keywords for This Icon list, it appears in this field. To change a selected keyword, edit the keyword in this field and click Modify.

Keywords Used by Other Icons

The Keywords Used by Other Icons area lists the keywords already attached to icons in your file. You can select keywords from the list and attach them to the  currently selected icon. You can also select other icons to assign keywords to them.

•	Keywords-Shows the keywords attached to icons in your piece. To see keywords for a specific icon, select an icon in the list on the right. You can select keywords in the Keywords list and assign them to the current icon.

•	Icon Type-Select the type of icon you want to display or select the All option to display all the icons in the file.

•	List-Shows the icons in your piece. You can limit the list to icons of a certain type by selecting an icon type from the Icon Type option. If you select All, Authorware displays all the icons in your piece in alphabetical order.

•	Edit Keywords-Select an icon in the icon list and click Edit Keywords to assign keywords to it. The selected icon becomes the active icon for editing, and any keywords attached to it appear in the Keywords for This Icon list.

•	Copy-Attaches a keyword selected in the Keywords list to the active icon shown in the upper left corner.

•	Keywords Within Nested Icons-Shows the keywords associated with several related icons. Use this option to show the keywords for a selected map icon, a framework icon, an interaction icon, or a decision icon, and the keywords of any icons attached to them.

Modify

To edit a keyword currently assigned to the active icon, select the keyword you want to change in the Keywords for This Icon List, enter your change in the Keyword Field, and click Modify to confirm the change.

Add

Click Add to assign a keyword entered in the Keyword field to the selected icon. The word appears in alphabetical order in the Keywords for This Icon list. You can also press Enter to assign the keyword entered in the field.

Select All

Click Select All to select all keywords in the list.

Remove

Click Remove to remove any keywords selected in the Keywords for This Icon list.

Done

Click Done to close the Keywords dialog box when you've finished working with keywords.


Connections command
Connections

Choose Connections to display a dialog box that shows all connections between the selected icon and other icons. (Links for Library and OLE objects are not shown).

Click an option in the dialog box for more information:

You can display connections from the icon, to the icon, or both. You can also follow a connection to its icon on the flowline.  If the selected icon is a framework or map icon, you can show connections between icons within that structure.

Authorware identifies each connection by type. Types include:

•	Erase-Identifies connections between an erase icon and any icons whose contents it erases

•	Motion-Identifies connections between a motion icon and any icons whose contents it moves

•	Video-Identifies connections between a video icon and any icons where Authorware overlays the video on the display

•	Expression-Identifies connections created by statements that use the variable@"IconTitle" in a calculation icon, in embedded text or in a condition field

•	Navigate-Identifies navigation links between a navigate icon and the destination page

•	Hot text-Identifies hyperlinks between hot text and the destination page

Icon

The title of the selected icon appears here.

Connections

Use these options to specify the connections you want to see:

•	From-Displays connections from the selected icon

•	To-Displays connections to the selected icon

•	Within-Displays connections within a framework structure or a map icon

List of connections

The list shows all connections according to the options you've selected. The From column shows the icons that are the source of a connection to the selected icon. The To column shows the icons that are the destination of a connection from the selected icon. The Type column shows the type of each connection.

Go to Icon

Click Go to Icon to follow a connection to its icon. If you click the button under the From column, Authorware goes to the icon that is the source of the selected connection. Click the button under the To column to go to the icon that is the connection's destination.

Done

Click Done to close the Connections dialog box.


Library usage
Library Links

Select a library icon, or an icon linked to a library icon and choose Library Links to open a dialog box showing information about the library links

The following buttons also appear:

Preview-Displays the contents of the icon. Click the preview window to close it.

Find Original-Opens the library file where the selected icon is stored. The icon is highlighted in the library file.

Close-Closes the dialog box.


File submenu
File

Click a command for more information:

Properties

Font Mapping

Palette

Navigation Setup


File Properties

Choose File > Properties to define the settings that apply to the entire file. These settings include options for specifying the file title, the wait button label, the Presentation window options, and the restart and resume options.

Click an option in the dialog box for more information:

File

Authorware displays the size of the file in kilobytes here. Authorware also shows the number of icons and variables in the file.

Memory

Authorware displays the amount of free memory here.

Title

Enter a title for the file in the Title field. Authorware displays this title in your packaged file unless you turn off the Title Bar option.

The default title is the file name without an extension. To specify a new title, type it in the field. Changing the title doesn't change the file name.

Tip:  Authorware automatically stores the title you enter in the system variable FileTitle. You can use this variable to display the title at any location in the file.


Playback Tab (File Properties dialog)
Playback tab (File Properties dialog box)

Click the Playback tab to display the Playback options.

Background Color

Click the Background Color button to change the background color of the Presentation window. The background color is preset to white. To select another color, click the Background Color button to display a color palette and choose the color you want. The selected color appears in the button.

Chroma Key

If you're using a video overlay card that supports a chroma key color, video appears on screen wherever you place a chroma-key-colored object. To select a chroma key color, click Chroma Key to display a color palette and choose the color you want. The selected color appears in the button.

The preset chroma key color is magenta. Some video overlay cards work with a limited number of chroma key colors:

•	The IBM M-Motion overlay card works only with a magenta chroma key.

•	The VideoLogic DVA 4000 overlay card only works with the first 64 colors on the palette. On a system with 256 colors, magenta, the default chroma key color, is out of range.

Size

Use the Size options to set up the size of the Presentation window. When authoring, it's a good idea to select a window size that works for the smallest monitor on which you expect your piece to run.

•	Variable-Sizes and positions the Presentation window. To resize the window, choose Restart from the Control menu and drag any corner of the Presentation window to the desired position. Once you change the Presentation window size, it remains at that size until you change it again.

•	Mac 9" through Mac 21"-Sets up fixed Presentation window sizes. The window sizes (such as 640x480) refer to the number of pixels used by the Presentation window. The Mac 9" option is used in some pieces created on the Macintosh.

•	Use Full Screen-Expands the Presentation window to the full size of the current monitor. When you work on the piece or when it is run, the window automatically uses the full screen of the current monitor.

Note: If you switch from a large screen to a smaller screen with the Use Full Screen option selected, parts of the text and graphics created on a larger screen may be clipped from view. Objects that extend beyond the right and bottom screen edges may be cut off. Screen clipping may also occur if users run the piece on smaller monitors.

Center on Screen

Select the Center on Screen option to center the Presentation window on the screen, regardless of the size of the monitor.

Title Bar

Turn on or turn off Title Bar to show or hide a title bar in the Presentation window. When the piece is running on a Windows computer, this option works only when the Presentation window is as large or larger than the screen. If the Presentation window is smaller than the screen, a title bar always appears.

Menu Bar

Authorware is preset to display a menu bar containing a File menu with a Quit command at the top of the Presentation window. Users can choose the Quit command to stop using a piece. Turn off the Menu Bar option to hide this menu.

If you don't display the File menu with the Quit command, you need to provide a way for users to quit the piece. They can always quit by pressing  Control-Q; just be sure to display instructions to that effect.

Custom menus that you create with the interaction icon and menu response icons don't show up if you turn off the Menu Bar option.

Note: You can use the ShowMenuBar function to override the Menu Bar setting.

Task Bar

The Task Bar option determines whether the Windows 95 task bar appears on a user's screen when it would be overlapping the Presentation window.  Windows 95 users can display a task bar containing buttons that make it easy to switch between open applications. The task bar's default position is along the bottom of the screen, but it can also appear at the top or along either side. If the user's task bar is turned on, it could cover part of the Authorware screen, possibly hiding navigation buttons along one edge.

Authorware is preset to hide the user's task bar if it would overlap the Presentation window. But if you want to leave the user's task bar visible, turn on Task Bar in the File Properties dialog box. To open this dialog box, choose File > Properties from the Modify menu.

Showing or hiding the task bar is subject to the following conditions:

•	Only the 32-bit version of RunA4W (RUNA4W32.EXE) allows control over a user's task bar.

•	You can't make the task bar visible without also making the Authorware title bar visible. When you turn on Task Bar, Authorware turns on the Title Bar option automatically.

•	You can't make the task bar visible unless the user's Windows settings allow the task bar to be visible in most situations. In most cases this requires the user to have turned off Auto Hide and turned on Always on Top in Windows.

•	If the Presentation window is smaller than a user's screen, you can't control whether the task bar is visible. It will show according to the user's Windows settings.

Tip: Another way to display the task bar when it overlaps the Presentation window is to use the ShowTaskBar function.

Overlay Menu

Turn on Overlay Menu to have the menu bar overlap the top of the Presentation window. This option is used for computers running Windows. Turn off this option to display the menu bar above the Presentation window.

Note:  The Overlay Menu option affects the ShowMenuBar.

Match Window Color

Users that have computers running Windows can choose their own window color for applications. The default color is white. To adopt the user's choice of window color for your piece, turn on Match Window Color. This setting overrides your Background color choice.

Note: If you have your piece adopt the user's color selections, remember you can't be sure of the colors that will appear. A user's color choice may detract from the effectiveness or aesthetics of your piece. For example, a garish background color selected by the user might clash with your graphics.

Standard Appearance

Users that have computers running Windows can choose their own color for 3D objects such as buttons. The default is gray. Turn on the Standard Appearance option to have the buttons and other 3D objects in your Authorware piece adopt the user's color choice.

Note: If you have your piece adopt the user's color selections, remember you can't be sure of the colors that will appear. A user's color choice may detract from the effectiveness or aesthetics of your piece.

Windows 3.1 Metrics

The sizes of a window's menu bar, title bar, and borders are different in Windows 3.1 and Windows 95. Depending on the computer you use to author your piece, what looks good on one Windows version may not work well on another. For example, a menu bar that works for Windows 95 may overlap a graphic by a pixel on a Windows 3.1 computer.

To avoid this type of problem, design graphics that clear the edges of the Presentation window. Remember Windows 95 users can change the size of the menu bar, so don't count on menu bars being a uniform size on Windows 95 computers.

If you can't design graphics to work around the problem, turn on the Window 3.1 Metrics option to make sure that graphics look the same on both Windows 3.1 and Windows 95 computers. Authorware then uses the Windows 3.1 screen sizes for menu bars, title bars, and borders. If you decide to use the Windows 3.1 Metrics option, remember:

•	When a file opens with the Windows 3.1 Metrics option turned on, the metrics of every window in every application changes to match the Windows 3.1 metrics.

•	With the increasing use of Windows 95, the Windows 3.1 Metrics option may not be available in future releases of Authorware.

Desktop Pattern

Turn on Desktop Pattern to use the desktop pattern of the user's Macintosh as the background for the Presentation window.

Tip: Users can choose from a wide variety of patterns. Some patterns may not look good with your piece's text and graphics. You may want to limit the use of this option to simulations of the user's desktop.


Interaction Tab (File Properties dialog)
Interaction tab (File Properties dialog box)

Click the Interaction tab to display the Interaction options.

Wait Button

Use the Wait Button options to change the label on the wait button or to change the button type.

•	Label-Enter the label that will appear on wait buttons throughout your piece. The default label is Continue.

•	... (Set) button-Displays the Buttons dialog box so that you can select the look of your wait button. You can use the Button Editor dialog box to modify the existing button, paste another button, or create a button. For more information, see Button responses.

Note: To use a wait button, select the Show Button option in the Wait Icon Properties dialog box or in the Interaction Icon Properties dialog box. When you run the piece, Authorware displays a button with the specified label when it encounters the icon. The button is automatically sized to accommodate the label you entered.

Label

Enter a label for the wait button in this field. The button preview changes to show the label you enter.

On Return

Use the On Return options to specify whether users return to the beginning of a piece or to the place where they left off.

•	Restart-Restarts the piece at the beginning. When Authorware restarts, it resets the values of all custom and system variables to their initial values. Authorware is preset to use this option.

•	Resume-Restarts the piece where the user quit. Authorware keeps track of the user's location in the piece and of the values of all variables, and stores this information in a user records file. Authorware creates a user records file for every Authorware piece and assigns to it the piece's filename with a .REC file extension.

Transition

Use the Transition option to select a transition that is displayed when the user returns to the piece. For more information, see Transition topic.

Search Path

In the Search Path field, enter the location of the external files that Authorware needs when running the piece.

When you link a piece to a library or when you load a digital movie, Authorware remembers the location of the external file and looks there first when it tries to use the file. If it is unable to locate files in their original locations, it checks the folder or directory holding the Authorware application. Authorware also uses the information in the Search Path field to determine where to look for libraries, digital movies, and other externally stored content.

Use semicolons to separate multiple search paths. Don't use extra spaces between entries. For example, if you want Authorware to search for external files first at the root directory of drive C and then in the Graphic folder in the A4W directory of drive D, you would set up the search path like this:

C:\;D:\A4W\Graphic

Windows Paths

Use the Windows Paths option to specify the type of network path that you want system functions and variables to return. This option is used for computers running Windows. Select either DOS (drive-based) or UNC (Universal Naming Convention), depending on the type of network your piece will run on. If users will run your piece only on networks that recognize UNC pathnames (for example, networks running Windows NT), choose UNC. This more flexible naming standard allows you to identify a server by name without worrying about a drive letter assignment. On the other hand, if users might run your piece on a network that doesn't recognize UNC, choose DOS.

The Windows Paths setting and PathType system variable are relevant only in the 32-bit version of Authorware running in Windows 95 or Windows NT. In the 16-bit Authorware runtime application, variables or functions that return pathnames always return drive-based pathnames no matter what setting you select. On the Macintosh, these variables and functions always return pathnames formatted for the Macintosh.

No system functions are affected by the Windows Paths setting and PathType variable. Three system variables are affected: FileLocation, OrigWorkingDirectory, and RecordsLocation.

Windows Names

Use the Windows Names option to select the filename format that you want system functions and variables to return: DOS (8.3), which allows 8 characters with a 3-character extension, or Long Filenames, which allows 255-character filenames. This option is used for computers running Windows. If users will run your piece on computers using Windows 95 and Windows NT only, you can select Long Filenames. If users will run your piece on computers using Windows 3.1-or you don't know the type of Windows the user will be running-it's a good idea to stick with standard DOS naming.

The Windows Names setting and FileNameType variable are relevant only in the 32-bit version of Authorware running in Windows 95 or Windows NT. In the 16-bit version of the runtime application, variables or functions that return filenames always return DOS 8.3 filenames no matter what setting you select. On the Macintosh, these variables and functions always return filenames formatted for the Macintosh.

The only system variable affected by the Windows Names setting and FileNameType variable is FileName. The only system function affected is Catalog.


Font Mapping

Use the Font Mapping feature to make sure that the fonts in your piece look similar when run on Macintosh or Windows computers. When you choose Font Mapping, Authorware refers to a font mapping file that selects appropriately corresponding fonts for the type of computer.

Click an option in the dialog box for more information:

Icon Titles

Turn on Icon Titles so that Authorware uses the font map file to map characters in icon titles

Calculations

Turn on Calculations so that Authorware uses the font map file to map characters in calculations.

Keywords

Turn on Keywords so that Authorware uses the font map file to map characters in keywords.

Load Font Map

Click Load Font Map to select a font mapping file for Authorware to use when creating an internal font map for selecting substitute fonts. Authorware is preset to use a file called FONTMAP.TXT located in the same folder as the Authorware application. This file specifies how Authorware maps fonts and characters between the Macintosh and Windows platforms. If Authorware finds this file, it uses it to create an internal font map for the piece. If Authorware doesn't find a FONTMAP.TXT file, a new piece uses no font map. Authorware uses a piece's internal font map to determine the appropriate substitute fonts.

You can open and edit the FONTMAP.TXT file to specify which fonts on a computer running in Windows should be substituted for fonts on Macintosh and vice versa. When you open the default file, you'll see an explanation of how to specify font substitutions and font names. You can create special font map files for the different types of pieces you create and load them as needed.

(picture of dialog box to go here - its hyperlinks will include the following:)

•	Load-Loads the font map file you select, replacing the existing font map, if there is one

•	Show All Files-Shows all file types in the currently selected volume or folder

•	Merge with Current Font Map-Appends the file you select to the existing font map

•	Remap Macintosh Font Names: Updates the font names used in the piece's internal font map with new names from the selected file

Save Font Map

Click Save Font Map to save the current font map as a file on disk. A dialog box appears in which you can name and save the font map file.


File Palette
Palette

Choose Palette to select a color palette for your piece. A dialog box appears in which you can load a palette file. The loaded palette's colors appear when you choose Window > Inspectors > Color, and in the VGA palette that appears when you display the palette for a Background or the Chroma Key color option.

Click an option in the dialog box for more information:

Use Default

Click Use Default if you've loaded a custom color palette and want to restore the default color palette.

Load

Click Load to select and load the file that contains the palette you want. A dialog box appears in which you can select the file.

Tip: Using a custom palette slows down performance if your file already contains graphics, because Authorware must map the existing colors to the colors in the new palette.

Preserve System Colors

Turn on Preserve System Colors to make sure that all Windows icons, title bars, window borders, and objects in the background don't change when you run an Authorware piece that uses a custom palette. Authorware keeps the colors of those objects from changing by retaining the Windows System colors, which are the first 10 and the last 10 colors in a palette.


Navigation Setup

Click Navigation Setup to define the appearance of the Find Word and Recent Pages dialog boxes that the user sees in a piece.

Click an option in the dialog box for more information:

Navigate Icons Set to Search

Enter different titles and labels for prompts and buttons in the Find dialog box.

•	Window Title-Enter a new title for the Find dialog box.

•	Word Prompt-Enter a new label for the prompt where the user enters a word or phrase to search for.

•	List Heading-Enter a new heading for the list of pages Authorware finds.

•	Find Button-Enter a new label for the button that starts a search.

•	Go To Button-Enter a new label for the button that displays the selected page.

•	Cancel Button-Enter a new label for the Cancel button.

•	Pause/Resume Button-Enter new labels for the Pause and Resume buttons.

Navigate Icons Set to Recent

You can set up the following options for the Recent Pages dialog box:

•	Window Title-Enter a new title for the Recent Page dialog box.

•	Maximum Pages to List-Specify the maximum number of pages displayed in the Recent Page dialog box.

Words to Ignore

Click Words to Ignore to load a file that contains a list of words you want Authorware to ignore if the user enters them in the Find dialog box. For example, you may want the search function in your piece to ignore vulgarities or other text a user may enter.

Authorware opens a dialog box with which you can select a file that contains the list of words to ignore. You can set up such a file by creating an ASCII file, listing each word on a separate line. (Authorware doesn't ignore keywords attached to icons, even if you enter them into this list.)

When a word list file is loaded, its name and path appear beside the Words to Ignore button. If no file is loaded, the text "File Not Loaded" appears.

Note: Your word list file isn't automatically packaged with a finished piece. When you distribute a piece, be sure to include your file in the same folder as the piece.

Highlight Found Words

Turn on Highlight Found Words to have Authorware highlight the found word when the user goes to a page. You can also select a highlight color. Click the color chip beside this option to display a palette from which you can select the highlight color.

Close When Page Selected

Turn on Close When Page Selected to close the Find or Recent Page dialog box when the user goes to a found page.


Align

Choose Align to display a floating panel that contains buttons for aligning objects selected in the Presentation window. To align objects, select at least two objects and then click an alignment button. The alignment buttons show examples of their functions in the button itself. You can align objects horizontally or vertically, or you can center them. You can also align objects by the left or right boundary of one of the selected objects. (Objects align with the object on the farthest left or right in the selected group of objects.)

You can also space objects evenly either horizontally or vertically, by selecting one of the two bottom buttons on the floating panel.


Group

Choose Group to group either objects selected in the Presentation window or icons selected on the flowline.

You can combine objects placed in the Presentation window into groups to make them easier to work with. For example, you can select and move them as a single object.

You can also group icons on a flowline into a map icon and use the icon to maintain an overview of your piece. For more information about the map icon, see map icon. You can group icons only if they are next to each other on the flowline.


Ungroup

Choose Ungroup to divide a selected group of objects into individual objects again, or to divide a selected map icon into its individual icons.

Note: If you attach a calculation to a map icon and then choose Ungroup, Authorware attaches the calculation to the first icon in the map.


Bring to Front

Choose Bring to Front to move the selected object in front of all other objects in the same icon. It does not affect the layer placement of the icon, nor does it move an object in front of other objects on a higher layer.

Objects automatically appear in front of one another within the Presentation window in the order in which they are drawn, pasted, or imported. Use the Bring to Front command to move a selected object to the foremost position on screen.


Send to Back

Choose Send to Back to move the selected object behind all other objects in the same icon.  It does not affect the layer placement of the icon, nor does it move an object behind other objects on a lower layer.

Objects automatically appear in front of one another within the Presentation window in the order in which they are drawn, pasted, or imported. Use the Send To Back command to move a selected object to the farthest back position on screen.


Font submenu
Font

Choose Font to display a list of fonts that you can apply to selected text or select a font for new text that you are about to enter.

Tip: If you plan to use a combination of text options and style repeatedly, use the Define Styles command to create a single named style. If you later change one or more attributes in the named style, any text with that style also changes automatically throughout the piece.

Note: Library files can contain references to fonts and font styles, so each library file contains its own independent set of styles and font names. Make the library window active to edit the styles or fonts for a library.


Size submenu
Size

Choose Size to display a list of font sizes to apply to the selected text or to select a font size for text you are about to enter. You can also define a custom size or apply the next larger or the next smaller size to the text.

For bitmapped fonts, the Size submenu shows the available sizes. For scalable fonts, the Size submenu shows a selection of standard sizes.

Choose the Other command to specify a custom size not listed. The Font Size dialog box appears in which you can specify a font size. Scalable font sizes can range from 1 point to 10,000 points. For bitmapped fonts, if you choose a size that isn't available, Authorware uses the nearest available size or whole multiple of an available size.


Style submenu
Style

Choose Style to display a list of formatting attributes to apply to selected text or to text you are about to enter.

Formatting attributes include Plain, Bold, Italic, Underline,  Subscript, and Superscript. You can select and use these styles in combination (except for Subscript and Superscript, which you can't use together).

Note:  To specify the appearance of text entered by a user, apply text attributes to the field of an interaction display.


Alignment submenu
Alignment

Choose Alignment to change the alignment for text:

•	Left Align-Aligns the text along the left margin

•	Center-Centers the text

•	Right Align-Aligns the text along the right margin

•	Justify-Aligns the text along the right and left margins

The alignment option you choose affects the current paragraph. If a text object doesn't contain a paragraph, these commands affect the entire object.


Scrolling Text

Choose Scrolling Text to create scrolling text fields. Scrolling fields are useful for displaying large amounts of text or blocks of text that vary in length. After creating a scrolling text field, you can enter or paste text, and change the text margins and field size by dragging the field's handles and icons.

Note: If you apply transparent, inverse, or erase mode to a scrolling text object, the text may scroll slowly depending on the object in the background.


Preserve Line Breaks

Choose Preserve Line Breaks to prevent text from being reformatted to a different line length. If your Authorware piece runs on a computer other than the one you work with, text lines may reformat to a different length. Choose this command to force the lines in your piece to remain the original length.

Note: This option is important for text that is set up for use with the LastLineClicked variable, because it forces lines to be the same regardless of font settings.


Number Format

Choose Number Format to specify how numerical variables embedded in display text appear.

Click an option in the dialog box for more information:

Example

This number represents an example of currently selected format settings.

Decimal

Use the Decimal options to define the format of the numbers before and after the decimal character.

•	Show Numbers After Decimal-Displays numbers after the decimal.

•	Use-Determines how to display the decimal.

-	Local Standard-Uses the character specified in the International control panel.

-	period-Uses a period (.) as the decimal separator.

-	comma-Uses a comma (,) as the decimal separator.

•	Include _ Digits to Right of Decimal-Enter the number of digits you want to display to the right of the decimal.

•	Include Trailing Zeros-Displays zeros at the end of the number. For example, using this option with two digits to the right displays 1 as 1.00.

Before Decimal

Use the Before Decimal options to define the appearance of the numbers before the decimal character.

•	Leading Zeros to _ Places-Enter the number of leading zeros you want to display. For example, if you specify three places, 7 appears as 007 and 45 appears as 045. Specifying leading zeros is useful when you want all displayed numbers to have the same number of digits.

•	Show Thousands/Millions Separator-Uses a character to separate values in the thousands or millions.

•	Use-Determines which character separates values in the thousands or millions.

-	Local Standard-Uses the character specified in the International control panel.

-	period-Uses a period (.) as the separator.

-	comma-Uses a comma (,) as the separator.


Navigation

Choose Navigation to set up or redefine a hyperlink between hot text and a destination page. Select the hot text for which you want to edit the hyperlink and then choose the Navigation command. The Navigation Properties dialog box appears, in which you can set up or redefine the hyperlink.

Show Me: Hot Text


Apply Styles

Choose Apply Styles to display a list of text styles. You can apply one or more of these styles to selected text. (You can also use the styles list in the toolbar to apply a style to selected text.) To apply a style, select the text and click the style name so that a checkmark appears.

When you select text that has a style applied, a checkmark appears next to the style's name in the palette. If a style doesn't apply to the entire range or if the style doesn't apply to all of the selected text objects, the check box is gray.

To remove a style from selected text, click the check box beside text style name you want to remove so that the check mark disappears. (If you remove a style this way and the text doesn't look like the default style, the formatting attributes were probably applied directly with font commands, rather than with a named style.)

Tip: To return text to the default style, select the text and reapply the default style. Authorware removes any formatting attributes that were applied directly.

When more than one text style is applied to text, the text receives the combined attributes of both styles.

Use the Define Styles command to create the styles you want. You can also copy styles from other pieces into the current piece.


Copying named styles between Authorware files

To copy text styles between files, paste text, an icon, or a model that contains the styles into the new file. The styles for the pasted item appear automatically in the Define Styles list, in the styles palette, and in the styles list in the toolbar.

When you copy icons that contain text into a file, Authorware copies any text styles into the piece. If a copied style has the same name as one that is already in the piece, but the styles have different attributes, Authorware displays a dialog box in which you can determine whether to keep both styles.


Define Styles

Choose Define Styles to create new text styles or change, rename, or delete existing styles. Each text style can consist of a combination of formatting attributes such as size, font style, and color. Named styles can't contain paragraph attributes such as margins, indents, and tabs.

Click an option in the dialog box for more information:

Note: Text styles can contain interactivity attributes. If you apply a text style with interactivity attributes to text, you can then create a hyperlink between that text and any page in the piece. While you can apply formatting attributes directly to selected text without creating a text style, the interactivity attributes must be part of a text style.

To apply styles you've created, use the styles list on the toolbar or choose Apply Styles from the Text menu to display the styles palette.

List of styles

The list of styles contains all text styles that you've created for the piece. To display the formatting and interactivity attributes assigned to a style, select it in the list.

At the end of the list appear unnamed style combinations of the formatting attributes you've applied by using the Font, Size, and Style commands. You can create named styles based on these unnamed styles. (This is particularly useful for files created with previous versions of Authorware.) Authorware automatically creates descriptive titles for these combinations, such as Helvetica Size 14 Bold. If the attributes include a color other than black or white, which are listed as such, the title includes Color. To see the specific color, click the Text Color chip.

Unnamed styles do not appear in the styles palette or the styles list in the toolbar until you name them. To name an untitled style, select it, enter a style name in the Text field, and click the Modify button.

Text field

In the Text field enter a name for new or selected text.

Modify

Use Modify to modify an existing style. First select a text style in the list and change its attributes or enter a new name. Then click Modify to confirm the change.

Add

To create a new style, click Add and enter a name in the field. Select the formatting and interactivity attributes you want and click Add or OK.

Remove

Click Remove to delete a style you've selected. Deleting unused styles keeps the styles palette and the toolbar styles list easy to use. The Remove button is dimmed if the text objects in the piece use the style you select. (Click References to see which icons use the named style.)

References

Click References to display a dialog box that lists the icons that use the style you selected. This dialog box also shows the number of icons that use the style.

•	Show Icon-Goes to the icon you selected in the list. Authorware highlights that icon on the flowline.

Done

Click Done to save any changes and close the dialog box.

Formatting attributes

Use the Formatting attributes options to define each text style. The Font and Size options define the default font and size of text, which applies to all text objects until you change it.

If the check box for an attribute contains a checkmark, the attribute is part of the style. If the check box is empty, the attribute isn't used. You can use different formatting attributes in combination (except for the Subscript and Superscript attributes.)

•	To set the attributes to a new style or to modify a style selected in the list, select the attributes, the color, and the number format you want.

•	To define a color for the style, select the Color check box, click the color chip, and select a color from the palette that appears.

•	To change the format for numbers, select the Number check box and then click the Format button to display the Number Format dialog box. For more information, see Number Format.

Sample

The sample shows how text with the selected combination of attributes will appear.

Interactivity attributes

Use the Interactivity attributes options to create text styles that turn text into hot text.

Hot text is text that works like a button: you set up a hyperlink between the hot text and a page that's attached to a framework icon, and when the user clicks the hot text, Authorware goes to the linked page.

Use the following options to set the interactivity attributes for a text style:

•	None-The named style isn't interactive.

•	Single Click-Sets the hot text so that the users can click it once to activate the link.

•	Double Click-Sets the hot text so that the user can double-click it to activate the link.

•	Cursor Within-Sets the hot text so that the user can move the cursor over or within the text to activate the link.

Auto Highlight

Turn on Auto Highlight option to display an inverse image of the hot text when the user activates the link. This action appears as a flash to the user and provides visual feedback that something is happening.

Cursor

Turn on Cursor and press and hold the mouse button down on the Cursor button to display the cursor types you can select. The selected cursor appears when the user positions the pointer over the hot text. For more information, see Cursors.

Navigate To

There are two ways to set up a hyperlink between hot text and a destination page:

•	You can define the hyperlink separately from the style that contains the interactivity attributes. When you apply the style to text, the text becomes hot, but doesn't have a destination yet. To apply the interactivity attributes to text, but not define a destination, leave the Navigate To option turned off.

•	You can also define the hyperlink destination at the same time you define the hot text style. Every text selection you apply the style to will have the same navigation settings and destination. For example, if you select a specific page as the destination of the hyperlink, clicking hot text with that style takes you to that page. (You can use a variable or expression to define the destination so that even if the navigation settings are exactly the same, the destination can be different for different instances of hot text you've applied the style to.) Select the Navigate To option to make the definition of the hyperlink part of the definition of the style.

To make the definition of the hyperlink part of the definition of the style, turn on the Navigate To option and click Navigate Icon. The Navigate Style Properties dialog box appears. Select the settings you want to specify the destination of the hyperlink. For more information about hyperlinks, see Creating a hot text style.

Show Me: Hot text


Restart command
Restart

Choose Restart to start running a piece from the beginning of the flowline. (You can also restart by clicking the Restart icon on the toolbar or Control Panel.) Authorware opens the Presentation window, clears any text and graphics, and restarts the piece, resetting variables to their initial values.

You can choose the Restart command while editing in either the Design window or the Presentation window.


Stop

Choose Stop to stop the piece.


Play

Choose Play to play the piece. If you've stopped the piece before completion, you can click Play in the Control Panel to resume the piece where it left off.


Reset

Choose Reset to restart the piece at the beginning and clear the Control Panel window in the Control Panel. Authorware displays a line in the Control Panel and starts a new trace from the beginning. When you place a start flag on the flowline, Authorware replaces the Reset button in the Control Panel with the Reset From Flag button and restarts from the start flag.


Step Into

Choose Step Into to perform the next item in the flowline and display information about every icon in a map icon or in a branching structure. This option allows you to go through a piece one step at a time to review its workings. It provides the most detailed level of information-use it when you want to troubleshoot a particular map or structure.

You can use the Step Into button in the Control Panel as a shortcut to this command. You can use the Step Over command to stop showing the detailed information in map icons and branching structures.


Step Over

Choose Step Over to perform the next item in the flowline and skip displaying information in map icons or in branching structures. This option allows you to go through a piece one step at a time to review its workings and have Authorware display only a message that it has entered and exited the map or structure. This provides a higher level of information to speed up the debugging process.

You can use the Step Over button in the Control Panel  as a shortcut to this command.


Restart from Flag

Choose Restart from Flag to run the piece from the position of the white start flag. This command is available when you place a start flag in the Design window. Start and stop flags are useful when you want to review and work on a particular segment of a piece.


Reset to Flag

Choose Reset to Flag to clear the Control Panel window and start a new trace from the start flag's location. You can also initiate this command by clicking the Reset to Flag button on the Control Panel. When you remove the start flag from the flowline, Authorware replaces the Reset to Flag button in the Control Panel with the Reset button.


Library Links

Choose Library Links to display a list of icons in your current piece that are linked to library icons.

The Library Links dialog box includes the following options:

•	Show

-	Unbroken Links-Lists the icons with library links that are intact.

-	Broken Links-Lists the icons with library links that have been broken.

•	Close-Closes the Library Links window.

•	Show Icon-Highlights on the flowline the icon you've selected in the list. This button is active only if you select a single icon.

•	Select All-Selects all the icons in the list.

•	Update-Updates the icons in your piece with any changes you've made to the library icons they are linked to.


Spelling

Choose Spelling to search for and correct misspelled words in icon titles, display and interaction icons, or keywords associated with icons. You can also specify where the check starts and stops.

Click an option in the dialog box for more information:

Note: Authorware doesn't check the spelling of text in library icons or OLE objects that are linked to your piece. To check text in library icons, click in the library window you want to check to make it active.

Check options

Use the Check options to specify what text to spell check.

•	Filename -Searches all icons in the entire specified file. If a library window is selected, this option shows the library name with the prefix [Lib].

•	Current Map Window-Searches only icons (including maps) in the currently open map window.

•	From Paste Hand-Searches all icons after the Paste Hand in the Design window. This option is available only if you've placed a Paste Hand in the Design window.

•	Between Flags-Searches all icons between the start and stop flags. If you used only one flag, Authorware searches from the start flag to the end of the flowline, or from the beginning of the flowline to the stop flag. This option is available only if you've placed at least one flag in a Design window.

•	Selected Icons-Searches icons you've selected. This option is available only if you've selected at least one icon.

•	Highlighted Text-Searches any text you've highlighted. This option is available only if you've highlighted text.

•	Toolbox Display-Searches the contents of one or more selected objects in a display. This option is available only when the toolbox is displayed and when you've selected an object in the display.

Dictionary

Click Dictionary to display a list of dictionaries you can use. Authorware provides dictionaries for English (American and British), French (Fran�ais), and German (Deutsch), and other dictionaries you've installed. When the Dictionary dialog box appears, select the dictionary you want and click Import.

Icon Titles

Turn on Icon Titles to check the spelling of icon titles.

Display Contents

Turn on Display Contents to check the spelling of text in text objects in display and interaction icons.

Keywords

Turn on Keywords to check the spelling of keywords associated with icons.

Ignore Uppercase Words

Turn on Ignore Uppercase Words to ignore the spelling of words that are in all uppercase letters.

Check Repeated Words

Turn on Check Repeated Words to check for words that are repeated.

Start Checking

Click Start Checking to start the spelling check. When Authorware finds a word that may be misspelled, it displays the Misspelled Word dialog box.

The word Authorware doesn't recognize appears in the Misspelled Word field. A suggested correction appears in the Change To field, followed by a list of other suggestions.

If the suspect word is correct, you can either ignore the word, ignore all future instances of it in this check, or add the word to the dictionary to avoid having it appear as a suspect word again. If the word is misspelled, you can select the correct spelling from the suggestion list, or enter the correct word in the Change To field and click Change to continue checking.

•	Ignore-Continues the check without replacing the word.

•	Ignore All-Adds the word to a temporary personal dictionary so that all occurrences of it are skipped during the current check. Authorware will flag the word again if you run another spell check.

•	Add-Adds the word to your dictionary.  Authorware won't report it as a suspect spelling again.

•	Change-Changes the misspelled word to the spelling displayed in the Change To field. You can also select a suggested spelling in the list or enter the correct word yourself and click Change.

•	Done-Closes the Misspelled Word dialog box.


Inspectors

The Inspectors command displays a submenu listing palettes for lines, fill patterns, object modes, and colors.

Click a command for more information:

Lines

Fills

Modes

Colors


Control Panel

Choose Control Panel to open the Authorware Control Panel, which you can use to control the display of a piece and trace or debug the workings of your piece.

Click a button on the Control Panel for more information:

If you click the Trace button, the panel expands to show a window and additional buttons. Authorware reports the steps of the piece in this window as it performs them. By watching the window, you can see which icon Authorware is about to execute and keep track of the icons that have already been executed. This collection of information is called a trace.

The Control Panel is particularly useful when it's difficult tell the order in which icons are executed by inspecting the flowline. For example, if your piece contains many navigation links or perpetual interactions, the icons may be executed in a different order each time the piece runs. The Control Panel's window reports the order exactly as it occurs.

You can resize the Control Panel so that it shows all of the trace information. You see the following information for each icon in the window:

•	The level of the icon's flowline

•	The icon type

•	The icon title

•	When stepping over map icons or branching structures, the fact that Authorware successfully entered or exited the map or structure

•	The result of the Trace function, which can be any message or the value of a variable at a particular location in the piece

Note: You can use the Trace function to display messages attached to icons or to display the values of variables at certain positions in the piece. For example, you could drag a calculation icon to the flowline and enter the expression Trace("starting section 3"). When Authorware executes that calculation icon, it displays starting section 3 in the Control Panel.


Step Over button (Trace window)
Step Over

Click Step Over to execute the next icon in a piece and execute all icons in a map icon in a single step. When you use this button, the Control Panel window shows only the map icon and the fact that Authorware entered and exited the icon.

Use the Step Over button to get close to the problem area and then use the Step Into option to see more detailed information, or set the stop flag where you want to begin the trace.

When Authorware encounters icons that require the user to interact with them (such as wait icons, interaction icons, or framework icons) the Presentation window appears so you can respond as the user would. Authorware then executes the next icon and displays information about it in the Control Panel.


Step Into button (Trace window)
Step Into

Click Step Into to execute the next icon in a piece, including executing the icons in a map icon one at a time. When you select this option, the Control Panel window shows each icon in the map.

When Authorware encounters icons that require the user to interact with them (such as wait icons, interaction icons, or framework icons) the Presentation window appears so you can respond as the user would. Authorware then executes the next icon and displays information about it in the Control Panel.


Reset button (Trace window)
Reset

Click Reset to reset the piece as it was at the beginning and clear the trace window in the Control Panel. On restarting, Authorware displays a line in the Control Panel and starts a new trace from the beginning. When you place a start flag on the flowline, Authorware replaces the Reset button in the Control Panel with the Reset From Flag button and restarts from the start flag.


Reset To Flag button (Trace window)
Reset to Flag

Click Reset to Flag to reset the trace window and start a new trace from the start flag's location.


Pause button (Trace window)
Pause

Click Pause to stop a piece when it's running. You can also pause a piece by placing the stop flag on the flowline. When a piece is paused, click the Play button to resume playing where the piece left off.


Restart From Flag button (Trace window)
Restart From Flag

Click Restart From Flag to start a piece from the current flag on the flowline.


Trace On/OFF button (Trace window)
Trace On/Off

Click Trace On/Off to turn the display of the trace information on or off. When this option is off, Authorware doesn't display trace information about each icon until you click the button again. This option is useful if you're only interested in viewing a particular section and don't want to see all the details of a trace.


Restart button (Trace window)
Restart

Click Restart to restart the piece from the beginning.


Show Invisible Items button (Trace window)
Show Invisible Items

Click Show Invisible Items to display items which are not normally visible, such as target areas, on the screen. When this option is off, Authorware doesn't display invisible information.


Play button (Trace window)
Play

Click Play to play the piece. The piece begins either from the beginning or from where the piece was paused.


Stop button (Trace window)
Stop

Click Stop to stop the piece.


Show/Hide Trace button (Trace window)
Show/Hide Trace

Click Show/Hide Trace to expand the Control Panel or to collapse the panel again.


Lines

Choose Lines to display a palette of lines of various thickness. Select a line thickness from the palette to change lines or borders of toolbox display objects. (Lines within text and bitmaps images are not changed.) Choosing the dotted option creates an invisible line, useful for hiding the outlined borders of objects. You can add arrowheads to one or both ends of a line.

If you select more than one object, clicking a line width or arrow option changes all the selected objects. To set a default line width or arrowhead option, click a Line palette option with no object selected.

Tip:  You can also display the Lines palette by double-clicking the line tool in the toolbox.


Fills

Choose Fills to display a palette of fill patterns that you can use to fill objects (except for text, bitmaps, and lines).

Fills are based on two colors, a foreground color and a background color. The foreground color is shown as black, the background color is shown as white. Use the Colors dialog box to change these colors. (Choose Inspectors > Colors).

Note:  Images created with Macintosh versions of Authorware before 3.0 may contain different fill patterns. You can import these images, but you can't edit them.

If you've selected more than one object, the fill option fills all the selected objects (except objects, such as lines, that can't be filled). To set a default fill pattern for objects that you draw, click a fill pattern with no object selected.

Tip:  You can also display the Fills palette by double-clicking the polygon, rounded rectangle, or rectangle tool in the toolbox.


Modes

Choose Modes to display a palette of modes that change the way an object looks when it overlays another. For example, you can set the mode of an object so that it completely blocks the view of an object behind it, or you can set it so that the background object shows through white areas in the foreground object.

Click an option in the dialog box for more information:

Note: Mode options use an object's display layer and foreground and background colors to set up the mode. (You can change the layer order of overlapping object layers by choosing Modify > Bring to Front or Send to Back. You can change the foreground and background colors of selected objects by choosing Window > Inspectors > Colors.)

Tip:  You can also display the Modes palette by double-clicking the pointer in the toolbox.

Opaque mode

In opaque mode, an object covers the background. The colored areas of the object show as color and the white areas show as white.

Tip: Bitmapped objects in opaque mode are displayed twice as quickly and use up half as much memory as objects in other modes. Opaque is the default mode for bitmapped objects.

Matted mode

Matted mode removes the white space from around the edges of bitmapped objects. White space inside the object remains. An object in matted mode covers the background as in opaque mode.

Transparent mode

In transparent mode, an object's colored areas cover the background, but the background shows through any white within the object or around the edges.

Inverse mode

In inverse mode, an object's colored areas become inverted and its white areas become transparent, when the object appears against a colored background. Against a white background, an object in inverse mode displays normally.

Inverse mode doesn't produce an exact optical inverse of a color. Authorware displays the inverse color based on the object color, the background object color, the video driver, and the color palette. If you move a Macintosh piece to a Windows computer, you can select different inverse colors.

Tip:  When you place an object directly over an inverse copy of itself, the object disappears.

Erase mode

In Erase mode, an object is invisible when displayed against the default background color. (You can select the default background color in the File Properties dialog box.) If the object's background color is different from the file's background color, the object's foreground areas appear in the file's background color and its background areas are transparent.

Note: Erase mode produces unpredictable results for color bitmapped objects.


Color
Colors

Choose Colors to display a palette in which you can assign colors to foreground and backgrounds of objects. You can color lines and fill colors for shapes, and assign colors to text and the background color of text objects.

Your selections determine the color of the foreground and background pattern for fill patterns. You can also assign colors to monochrome bitmaps, and any range of selected characters within a text object.

•	Click the pen color button and then select a color to change the color of lines, object outlines, and text.

•	Click the foreground and background color chips and select a color to define the foreground and background color of objects such as rectangles, rounded rectangles, ovals, and polygons. If you selected a fill pattern, you can assign colors to the foreground and background patterns. You can change the colors of monochrome bitmapped graphics and the background color of text.

Tip:  You can also display the Color palette by double-clicking the oval tool in the toolbox.

Note:  You can load custom palettes. For more information, see File Properties.


Presentation

Choose Presentation to open, close, or make active the Presentation window.


Design

Choose Design to display a submenu of all open Design windows and select the window you want to open.


Libraries submenu
Library

Choose Library to view a submenu of library files that you've created or opened. Choose a library name to open the library window.


Calculation submenu
Calculation

Choose Calculation to display a submenu from which to select any of the calculation windows that are currently open in the Authorware file.


Functions

Choose Functions to display the Functions dialog box listing all system or custom functions. The dialog box displays the syntax and description of a particular function and a list of icons in which that function is used.

Click an option in the dialog box for more information:

You can load, rename, and delete custom functions, jump to an icon that uses a selected function, and paste the function into a calculation icon or a field.

Show Me: Xtra IO

Category

Use the Category pop-up to select a function category. When you select a category, the scrolling list below the Category field displays only the functions in that category. Custom functions appear at the bottom of the list, with functions in the current file and any open libraries listed by filename.

Referenced By

The Reference By field lists all icons in the current piece that use the selected function. Select an icon and click Show Icon to go to that icon on the flowline.

Description

The Description field shows the function's syntax and describes its purpose. You can copy and paste the function and its syntax example into your piece and then define the function's arguments. You can edit the description of custom functions.

Load

Click Load to display the Load Function dialog box, which prompts you to load a dynamic link library (DLL) or a user code document (UCD).

Rename

Click Rename to change the name of a custom function. The Rename dialog box appears.

Unload

Click Unload to delete the custom function you've selected. This option is available only if no references to the function exist in the piece.

Paste

Click Paste to paste the selected function at the cursor location.

Done

Click Done to close the dialog box.


Variables

Choose Variables to view system or custom variables and display the following information for any variable: the initial and current value, a description, and a list of icons in which the variable is used.

Click an option in the dialog box for more information:

You can create, rename, and delete custom variables; change their initial and current values; jump to an icon that uses a selected variable; and paste a variable into a calculation icon or in a field.

Show Me: Variable

Category

Use the Category pop-up to select a variable category. When you select a category, the scrolling list below the Category field displays only the variables in that category. Custom variables appear under the name of either the current file or the open library that contains them.

Initial Value

The Initial Value field displays the initial value of the selected variable. You can change this value for custom variables only.

Current Value

The Current Value field displays the current value of the selected variable.

Referenced By

The Referenced By field lists all icons in the current file that use the selected variable. Select an icon and click Show Icon to go to that icon on the flowline.

Show Icon

Select an icon and click Show Icon to go to that icon on the flowline.

Description

The Description field describes what the variable does and how it can be used. You can edit this field for custom variables only.

Rename

Click Rename to change the name of a custom variable. The Rename Variable dialog box appears.

Delete

Click Delete to delete the custom variable you selected. This button is available only if no icons in the piece use the selected variable.

Paste

Click Paste to paste the selected variable at the cursor location.

Done

Click Done to close the dialog box.


New Variable

Click New to display a dialog box that contains options for creating a new variable with the name you specify.

Click an option in the dialog box for more information:

Name

Use the Name field to enter the name of a new variable. The name must be unique, consist of 40 characters or less, and start with a letter or an underscore character (_). Names can't be reserved words, such as the names of system variables and functions.

Initial Value

Use the Initial Value field to set the starting value of the variable when the piece is first run. This value doesn't change until Authorware encounters a calculation containing an assignment to the variable. The default initial value is 0.

Description

Use the Description field to enter a description of the variable and how to use it. This description appears in the Description field of the Variables dialog box.


Buttons

Choose Buttons to display the Buttons dialog box, which contains standard system buttons and custom buttons used in the current piece. Use the Buttons dialog box to display information about buttons and to select a button to paste into your piece.

You can also display the Button Editor dialog box, to create and edit buttons.

The Buttons dialog box initially contains sample buttons-a standard button, a check box button, and a radio button-for each platform.

Click an option in the dialog box for more information:

Custom buttons used in a piece appear at the beginning of the Buttons list. If your piece contains a framework icon, the buttons that are the default navigation controls appear in the Buttons dialog box. When you paste a model into your piece, any buttons it contains will also appear in the Buttons dialog box.

You can use the system variable Checked to change the state of a check box or radio button from checked (or turned on) to unchecked (or turned off) when the user clicks it.

Show Me: Variable

Preview

The Preview column shows how the button will look in the piece.

Description

The Description field provides information about the type of button, including the platform and whether the button is a system or custom button. For custom buttons, Authorware shows whether the button includes graphics or sound and how many icons are in the piece use that button.

System Buttons

Use these options to change the set the font used for the button label if you are using a system button.

Delete

Click Delete to delete a custom button or a copy of a system button. You can't delete a selected system button, only copies that you've created.

Edit

Click the Edit button to change a button you've selected. Authorware displays the Button Editor dialog box. The button you're editing appears in the preview area and its description appears in the Button Description field. As you edit the button, the preview area shows how the button will look.

•	When you select a system button, Authorware asks if you want to make a copy of that button. You can edit copies of system buttons by changing how the label looks and adding sounds. You can't add graphics to copies of system buttons.

•	When you select a custom button, you can edit the button by adding or deleting graphics, changing how the label looks, and adding or deleting sounds.

Note:  After you paste a button from the Button Library dialog box into the piece, you can resize system buttons in the Presentation window. However, you can't resize custom buttons in the Presentation window; to resize custom buttons, use the Button Editor dialog box.


Button Editor

Click Add to display the Button Editor dialog box where you can create new buttons or edit existing ones. You can add or delete button graphics, hide or show the button's label, and add or delete a sound associated with the button. You can also define the states that a button may display-up, down, or disabled.

Click an option in the dialog box for more information:

Authorware saves your buttons with the piece. When you open the piece, the buttons appear in the Buttons dialog box.

Tip:  To create a collection of buttons for your pieces, save a model that contains the buttons. See Creating a custom button collection.

State

A button can exhibit normal states and other states such as being up, down, or disabled. When defining a button, you first set up its attributes for the normal state and then define variations for the other states.

Click a state to see the graphic and label in effect for that state in the Preview area. You can change the look of the button or associate a sound using the options below the preview area.

The four states for standard buttons are:

•	Up-Defines the normal look of the button in a Presentation window (when the mouse button isn't pressed and the mouse isn't positioned over the button).

•	Down-Defines the button's look and sound when the user presses it (when the mouse is down).

Tip: A common design technique is to highlight a button when the user clicks it, to provide visual feedback. When the user releases the mouse, the button reverts to its Up state, which creates the illusion of a flash.

•	Over-Defines the button's look and sound when the user positions the pointer over the button.

•	Disabled-Defines the button's look when the button isn't available. Disabled buttons are normally dimmed.

Check boxes and radio buttons also have checked states. The checked state represents how the button appears when it's selected. Because standard buttons can't be checked, the Checked options are not available when you select a standard button for editing.

•	Up and Checked-Represents how a checked button looks in the Presentation window.

•	Down and Checked-Represents how the checked button looks and sounds when the user clicks the button.

•	Over and Checked-Represents how the checked button looks and sounds when the user positions the mouse over the button.

•	Disabled-Represents how the checked button looks when it's not available.

See also:	Graphics for button states
Labels for button states
Sounds for button states

Button Description

Use the Button Description field to enter a button description of up to 80 characters.  If you're editing a button, you can also edit its current description. The first line you enter appears in the Description column of the Button dialog box.

Automatically Check

Turn on Automatically Check to create buttons that toggle automatically from the checked state to the normal state when the user clicks them. This option is particularly useful for check boxes and radio buttons. You can also use the variable Checked to see whether the button has been checked or to toggle the button's state between checked and unchecked.

Preview area

The preview area shows how a button will appear to the user. If you're creating a new button, the preview area is blank. If you're editing a button, it shows the button you selected for editing. By clicking each state, you can verify that all buttons work correctly for all states.

When you create custom buttons, you can arrange different button components by dragging them in the preview area. You can't drag system buttons in the preview area.

Graphic

Use the Graphic options to choose the button's graphic for each state. The options listed vary depending on the state you're selecting a graphic for:

Option	Normal means this	Checked means this
Up          Use Imported	Use the imported graphic. (This option is only available when you've imported a graphic.)	Use the imported graphic. (This option is only available when you've imported a graphic other than the one you chose for Up & Normal.)
Same as Up		Use the same graphic that you imported for Up & Normal.
None	Don't use a graphic.	Don't use a graphic.
Down     Use Imported Over Disabled	Use the imported graphic. (This option is only available when you've imported a graphic other than the one you chose for Up.)	Use the imported graphic. (This option is only available when you've imported a graphic other than the one you chose for Up & Checked.)
Same as Up	Use the same graphic that you imported for Up.	Use the same graphic that you imported for Up.
Same as Up  & Checked		Use the same graphic that you imported for Up & Checked.
Same as Down*		Use the same graphic that you imported for Down & Normal.
Same as Over**		Use the same graphic that you imported for Over & Normal.
Same as Disabled***		Use the same graphic that you imported for Disabled & Normal.
None	Don't use a graphic.	Don't use a graphic.
* Available only for Down & Checked
** Available only for Over & Checked
*** Available only for Disabled & Checked

The Graphic options are only available for custom buttons and copies made of system buttons.

Import

Click Import to import a graphic for a button. An Import dialog box appears in which you can select the file you want to import.

Note: If you select a system button as the basis for a new button, the Import button is dimmed. You can't assign a graphic to a button based on a system button.

You can import any image in a compatible format. Select the file that contains the image you want and click the Import button. For details, see Imported graphics.

You can also use the Paste command to paste a graphic you've copied to the Clipboard, and you can copy and paste a graphic imported for one state to another, or to an image editing application.

To paste a graphic that's on the Clipboard, select the state you want and then choose Paste from the Edit menu.

To cut or copy a button graphic, select a state, select the graphic, and then choose Edit > Cut or Edit > Copy.

Label

Use this option to choose whether to display a button's label for each state. The options vary depending on the state you're selecting a label for:

Option	Normal means this	Checked means this
Up          Show Label	Use the label in the Button name field.	Use the label in the Button name field.
Same as Up		Use the same setting you selected for Up & Normal.
None	Don't use a label.	Don't use a label.
Down       Show Label Over Disabled	Use the label in the button name field.	Use the label in the button name field.
Same as Up	Use the same setting you selected for Up.	Use the same setting you selected for Up & Normal.
Same as Up  & Checked		Use the same label you selected for Up & Checked.
Same as Down*		Use the same label you selected for Down & Normal.
Same as Over**		Use the same label you selected for Over & Normal.
Same as Disabled***		Use the same label you selected for Disabled & Normal.
None	Don't use a label.	Don't use a label.
* Available only for Down & Checked
** Available only for Over & Checked
*** Available only for Disabled & Checked

Label Alignment

Select an option to align the label in a button on the left, on the right, or in the center.

Sound

Use Sound to choose a button's sound for each state. The options vary depending on the state you're selecting a sound for:

Option	Normal means this	Checked means this
Up          Use Imported	Use the imported sound.  (This option is available if you imported a sound.)	Use the imported sound. (This option is available if you imported a sound other than the one you chose for Up.)
Same as Up		Use the same sound you chose for Up.
None	Don't use a sound.	Don't use a sound.
Down       Same as Up Over Disabled	Use the same sound you chose for Up.
Same as Up & Checked		Use the same sound you chose for Up & Checked.
Use Imported	Use the imported sound.  (This option is available if you imported a sound other than the one you chose for Up.)	Use the imported sound.  (This option is available if you imported a sound other than the one you chose for Up & Checked.)
Same as Down *		Use the same sound you chose for Down & Normal.
Same as Over **		Use the same sound you chose of Over & Normal.
Same as Disabled ***		Use the same sound you chose for Disabled & Normal.
None	Don't use a sound.	Don't use a sound
* Available only for Down & Checked
** Available only for Over & Checked
*** Available only for Disabled & Checked

Import Sound

Click Import Sound to import a sound for a button. In the Import dialog box, select the sound file you want to import.

Note:  A sound associated with the normal state of a button doesn't play when the button first appears in your piece. The sound plays when the button returns to the normal state-after the user releases the mouse button, for example.

See also:	Compatible file types

Play

Click Play to hear the sound you've imported.

Cursors

Choose Cursors to see the Cursors dialog box, which contains a collection of the standard system cursors and custom cursors for your type of computer.

The dialog box's left column shows the cursors. The right column identifies the type of cursor (standard or custom) and the number that corresponds to the cursor. Use the number to select a cursor with the SetCursor function. For custom cursors, the Description column also shows how many icons use that cursor. In Windows, custom cursors can be black and white only.

Use the following buttons of the Cursors dialog box to work with custom cursors:

•	Add-Displays a dialog box in which you can select an application that uses the cursor you want to copy. Select the application and click OK. A dialog box appears that shows the cursors used by the application. Select a cursor and click OK and the cursor is transferred to the Cursors dialog box. You can now use it in your piece.

•	Edit-Displays a dialog box in which you can select a file with a cursor to replace the selected cursor. This option is available only for custom cursors you added.

•	Delete-Deletes a selected custom cursor. You can't delete the system cursors.


Authorware Help command

Displays the Help window.

Keyboard shortcut: F1


Help Pointer command
Help Pointer

Choose Help Pointer to click an item on the Authorware screen and see Help information about it. The cursor changes into a question mark. When you click a command, dialog box, tool, or icon with the pointer, Authorware launches the Help system and displays information about that item. To dismiss the Help information, press the Escape key or choose Help Pointer again.

Keyboard shortcut: Shift-F1


Help category commands

Choose these help commands to jump immediately to the selected section in the on-line help. When you have a question, you can refer to information in the Reference, Scripting, How To, Overview, Troubleshooting, Show Me, and Web Links sections.  To see a list of all help sections, click the Authorware Help command at the top of the Help window.


About Authorware command
About Authorware

Choose About Authorware to display the name of the registered user, the Authorware version number, and the serial number. Click anywhere in the window or press any key to close the window.


Overview
What's new

Old and new menus


What's new in Authorware 4.0

Ease-of-use

Productivity

Extensibility

Intranet functionality

Instructional media

New variables and functions

Opening existing pieces

Ease-of-use improvements

Enhanced interface

Property dialog boxes are now available throughout Authorware, offering quick access to information about every icon on the Authorware flowline.

A new decision path symbol makes Authorware decision path properties even easier to manage. Double-click the symbol to display the Decision Path properties dialog box.

Authorware 4 includes Tool Tips, short descriptions that pop-up whenever you point to a flowline icon or tool bar button.

Drag-and-drop support

Authorware 4 now supports drag-and-drop of media on both Windows and Macintosh. Drag a bitmapped graphic from the desktop or from xRes and drop it into an icon, on the flowline, or in a library. Authorware's visual authoring is now even easier.

Studio-wide user interface

Now all of the products in the Authorware Interactive Studio share the same common user interface. The studio products now share common properties, tabs in dialog boxes, menu items and keyboard shortcuts.

Productivity enhancements

External Content

With Authorware 4, you can store any Authorware media separately from the Authorware file. You can even store media files on the web.

Storing media externally allows easy editing because there's no need to re-import the file every time you make changes to it. You can also make relative references to external files, so you can dynamically change content at runtime.

External Media Browser

The External Media Browser lets you view and manage all links to external content. You can locate and manage graphics and movies from within Authorware during authoring. When a finished Authorware project is moved to a web server or CD, the media browser provides the means to quickly update all the links.

Cross-platform compatibility

With its new binary file compatibility, you can author either in Windows or on the Macintosh and use one file for playback on both platforms.

For more information, see Cross-platform issues.

New scripting tools

Now you can use multiple arrays in an application, providing an efficient way to manage lists of objects.

Variable references enable authors to locate icons using variables, rather than hard-coded icon names.

You can now call scripting Xtras from within Authorware.

Improved graphics support

Authorware now supports the following graphics file formats: TIFF, BMP, DIB, RLE, GIF, JPEG, LRG, PNG, PICT (providing QuickTime is installed), Targa, WMF (Windows), and Photoshop.

Authorware 4 retains the original file format information instead of converting images to the BMP/DIB format. In conjunction with the external content feature, this enables authors to manage, edit and substitute images in their original format.

Displayed images can now be resized, scaled, and cropped in Authorware.

File compression

Authorware 4 files are now compressed to make them 50 to 75% smaller than Authorware 3.5 files.

Extensibility improvements

ActiveX controls

Any ActiveX control works inside an Authorware application. Standard Windows interface controls are available in ActiveX form, so you can accurately simulate Windows applications.

Authorware ActiveX support includes an event handler that enables authors to easily view all of the events (such as user selections or data entry) that a control can generate, then set up a response to the event.

Sprite Xtras

Sprite Xtras are plug-ins that work like icons, but provide additional functionality for Authorware. Xtras such as QuickDraw 3D expand the range of data types that Authorware supports. You can use many Director sprite Xtras in Authorware as well.

Intranet functionality

Authorware 4 incorporates Shockwave, enabling you to run Authorware pieces over corporate, government, and educational intranets. To prepare your piece for intranet delivery, you compress and segment the piece using Authorware Afterburner, included on the CD. When the piece runs, the segments are downloaded to the user's computer only as they're needed.

Shockwave for Authorware is a plug-in for Netscape Navigator, Internet Explorer, and other compatible browers . The Shockwave plug-in is available free from Macromedia.

Instructional media

QuickStart templates

New QuickStart templates boost productivity by giving you a head start on new projects. Each template has three complete looks-one designed for the corporate environment, one for schools, and one for consumer applications.

See Templates for more information.

Show Me multimedia examples

Authorware includes an all-new set of nearly 40 Show Me multimedia examples designed to help you understand concepts by working with them. These self-documented Authorware pieces are designed for users of all levels.

For more information, see Show Me.


Menu structure
Old and new menus

The following table illustrates how the menus have been rearranged for Authorware 4.

Authorware 3.5	Authorware 4
File menu
New	File > New > File
Open	File > Open > File
Import	File > Import
Close	File > Close > Window
Close File	File > Close > File
Save	File > Save
Save As	File > Save As
Save and Compact	File > Save and Compact
File Setup	Modify > File > Properties
Navigation Setup	Modify > File > Navigation Setup
Video Setup	File > Preferences
Package	File > Package
Page Setup	File > Page Setup
Print	File > Print
Print Screen	removed from 4.0
Exit	File > Exit
Edit menu
Undo	Edit > Undo
Cut	Edit > Cut
Copy	Edit > Copy
Paste	Edit > Paste
Paste Special	Edit > Paste Special
Clear	Edit > Clear
Show Clipboard/Hide Clipboard	removed from 4.0
Group	Modify > Group
Ungroup	Modify > Ungroup
Select All	Edit > Select All
Find/Change	Edit > Find/Replace
Find Again	Edit > Find Again
Check Spelling	Xtras > Spelling
Get Info	Modify > Icon > Properties
Data menu
New Variable	Window > Variables
Show Variables	Window > Variables
Show Functions	Window > Functions
Load Function	Window > Functions
Number Format	Text > Number Format
Calculations	Modify > Icon > Calculation
Libraries menu
Create Model	Insert > Create Model
Load Model	Insert > Load Model
Unload Model	Insert > Unload Model
Paste Model	Insert > Paste Model
New Library	File > New > Library
Open Library	File > Open > Library
Libraries submenu	Window > Library submenu
Show Library Links	Xtras > Library Links
Buttons	Window > Buttons
Cursors	Window > Cursors
Attributes menu
Effects	Modify > Icon > Properties
Transition	Modify > Icon > Transitions
Lines	Window > Inspectors > Lines
Fills	Window > Inspectors > Fills
Modes	Window > Inspectors > Modes
Color	Window > Inspectors > Colors
Bring to Front/Send to Back	Modify > Bring to Front/Send to Back
Show Tool Bar	View > Toolbar
Show Grid	View > Grid
Snap to Grid	View > Snap to Grid
Align Objects	Modify > Align
Keywords	Modify > Icon > Keywords
Show Connections	Modify > Icon > Connections
Text menu
Font	Text > Font
Size	Text > Size
Style	Text > Style
Alignment	Text > Alignment
Scrolling Text	Text > Scrolling Text
Apply Styles	Text > Apply Styles
Define Styles	Text > Define Styles
Edit Navigation	Text > Navigation
Try It menu
Run	Control > Restart
Run from Flag	Control > Restart from Flag
Pause/Proceed	Control > Pause/Proceed
Show Current Icon	View > Current Icon
Jump to Icons/Jump to Display	Control > Jump to Icons/Jump to Display
Trace Window	Window > Panels > Control Panel
Step Into	Control > Step Into
Step Over	Control > Step Over


New variables and functions

New Character Functions	New List Functions
MapChars	AddLinear
String	AddProperty
Symbol	Array
New General Functions	CopyList
CallIcon	DeleteAtIndex
CallObject	DeleteAtProperty
CallParentObject	FindProperty
CallSprite	FindValue
DeleteObject	InflateRect
GetIconProperty	Intersect
GetSpriteProperty	ListCount
SetIconProperty	OffsetRect
SetKeyboardFocus	Point
SetSpriteProperty	PointInRect
TypeOf	PropertyAtIndex
New Language Functions	Rect
Repeat With x In list	SetAtIndex
New Platform Functions	SortByProperty
TestPlatform	SortByValue
New Variables	UnionRect
DirectToScreen	ValueAtIndex
EventLastMatched	New Math Functions
EventQueue	Average
GlobalTempo	Fraction
KeyboardFocus	Max
MediaRate	Min
MediaLength*	Number
TimeOutRemaining	Real
	Sum
* Existing function or variable that has changed.


Cross-platform compatibility

In Authorware 4.0, you can create, edit, and deliver a single file that can be played and used on Windows 95, Windows NT, Macintosh, and Power Macintosh platforms. The format of a file on disk is identical, regardless of which platform last saved it. No conversion is necessary between platforms. Auxiliary files such as libraries and models are also binary-compatible. Student records files are not binary-compatible.


Font Mapping
Understanding font mapping

Font, size, and style information are stored within an Authorware file. However, when you open an Authorware file created on a Macintosh using the Windows version of Authorware, Windows may create visually different text than the text displayed on a Macintosh.

Most Windows computers don't use the same fonts as the Macintosh. If Windows doesn't have one of the fonts used within the Authorware file, Authorware substitutes another available font.

Macintosh and Windows font sizes can differ. For example, 12-point text on the Macintosh can appear smaller in Windows.

When you save an Authorware file, Authorware looks for a file called FONTMAP.TXT in the same folder as the Authorware application. This file specifies how Authorware maps fonts between the Macintosh and Windows platforms. If Authorware finds this file, it uses it to create an internal font map for the Authorware file. If no FONTMAP.TXT file exists, no font map will be used. When you open an Authorware file in Windows, Authorware uses its internal font map to determine the appropriate substitute Windows fonts for those that were used on the Macintosh. If a font map does not accompany the Authorware file, Authorware substitutes other available fonts. The sample FONTMAP.TXT file at the end of this section provides an example of how Authorware maps Macintosh fonts to Windows fonts.


Editing an Authorware file's FONTMAP.TXT file
Editing the FONTMAP.TXT file

When you open an Authorware file, Authorware looks for a font map file named FONTMAP.TXT in the same folder as the Authorware application. This file specifies the font mapping between pieces used across platforms. If Authorware can't find this file, it doesn't use a font map.

You can edit an existing packaged file's font map file to specify which fonts Authorware substitutes when you open the Authorware file on the PC. Rather than creating this file from scratch, you can save the Authorware file's internal font map table in a text file, and then edit this file as necessary.

To define the font mapping information for an Authorware file, it's more convenient to edit the FONTMAP.TXT file before you begin authoring a piece, since Authorware automatically uses the information stored in the FONTMAP.TXT file when you open a new file. (If you've already created the Authorware file, you can still edit the font map file, but you will then have to manually load the file into the Authorware file to have it applied.)

Note: If you edit font information in Windows in an Authorware file created on a Macintosh, it loses its original Macintosh font information. Similarly, if you edit font information on the Macintosh for an Authorware file created in Windows, the original Windows font information is lost. If you plan to edit an Authorware file on both the Macintosh and Windows platforms, make sure that the font mapping file specifies that each Macintosh font has only one substitute font in Windows, and vice versa. This one-to-one font mapping ensures that Authorware will be able to assign the appropriate substitute font when you edit fonts on one platform and then open the Authorware file on the other platform.

An Authorware file's FONTMAP.TXT file might look like this:

; This is a sample FONTMAP.TXT file

; Comments are denoted by using ";" or "--" to start the line

; The format for Font Mapping is:

; Platform:FontName => Platform:FontName [MAP (NONE | ALL)] [OLDSIZE => NEWSIZE]

-- The format for specific Character Mapping is

-- Platform: => Platform:  OLDCHAR => NEWCHAR ...

; Here are sample mappings for the standard Mac fonts:

Mac:Chicago       => Win:"MS Sans Serif"

Mac:Courier       => Win:"Courier New"

Mac:Geneva        => Win:System Map All

Mac:Helvetica     => Win:Arial

Mac:Monaco        => Win:Terminal

Mac:"New York"    => Win:"MS Serif" Map None

Mac:Symbol        => Win:Symbol

Mac:Times         => Win:"Times New Roman" 14=>12 18=>14 24=>18 30=>24

; Here are sample mappings for the stock Windows fonts

Win:Arial             => Mac:Helvetica Map All

Win:"Courier"         => Mac:Courier

Win:"Courier New"     => Mac:Courier

Win:"MS Serif"        => Mac:"New York" Map None

Win:"MS Sans Serif"   => Mac:Chicago

Win:Symbol            => Mac:Symbol

Win:System            => Mac:Geneva

Win:Terminal          => Mac:Monaco

Win:"Times New Roman" => Mac:"Times" 12=>14 14=>18 18=>24 24=>30

Note: From Windows to Macintosh, Courier and Courier New map onto Courier. When coming back to Windows only Courier New will be used.

Here is a sample character mapping for the bullet character:

Mac: => Win: 165=>149

Win: => Win: 149=>165

When editing an Authorware file's FONTMAP.TXT, keep in mind the following:

*	Comment lines must begin with two dashes (--) or a semicolon (;).

*	Only one font mapping definition can be specified on a line.

*	Arguments must be separated by spaces or tabs.

*	If a font name consists of more than one word, it must be enclosed in quotation marks.

HID_FONT_MAPPING3HID_FONT_MAPPING4


Defining the font mapping for a new Authorware file

To define the font mapping for a new Authorware file:

1.	Using any application that can edit text, open the sample FONTMAP.TXT file that's in the same folder as the Authorware application.

When you installed Authorware, this file was placed in the same folder as the Authorware application. If the file is missing, you can either re-install it or create it from scratch. See the end of this section for an example of a FONTMAP.TXT file.

2.	For each Macintosh font remapping entry, type on one line:

Mac:MacFontName=>Win:WinFontName [MAP (NONE|ALL)] [MACfontsize=>WINfontsize]

where MacFontName is the name of the Macintosh font, and WinFontName is the name of the Windows font being substituted for the Macintosh font.

The two arguments enclosed in brackets are optional. MAP ALL or MAP NONE specifies whether you want to remap characters with ASCII values greater than 127 or just pass them through.  The default is MAP ALL.

You can specify how you want the characters to be remapped, as described in Step 3. The sample FONTMAP.TXT file contains mappings for a few commonly used graphical characters.

The last argument, [MACfontsize=>WINfontsize], consists of one or more pairs of numbers, separated by a space, that let you map a Macintosh font size to a Windows font size.

Because font sizes appear smaller in Windows, you might want to map Macintosh font sizes to larger Windows font sizes.

3.	For each Macintosh special character that you want to remap, type:

Mac:=>Win: OLDCHAR=>NEWCHAR OLDCHAR=>NEWCHAR

where OLDCHAR is the ASCII value of the Macintosh special character, and NEWCHAR is the ASCII value of the Windows character being substituted for it. You can enter as many remapping pairs as you want by separating each one with a space.

You can only remap characters whose ASCII values are greater than 127 and less than 255.

If you didn't specify MAP ALL for any of the font remapping entries, as described in Step 2, skip this step.

4.	Save the file as ASCII text, in the same folder as the Authorware application.

5.	Create a new Authorware file.

Authorware looks for the font map file named FONTMAP.TXT in the same folder as the Authorware application. All new Authorware files will use the font mapping information in the FONTMAP.TXT file. You can edit the font mapping file as needed.

Existing Authorware files continue to use the font map information (if any) stored within the Authorware file rather than the font mapping specified in the FONTMAP.TXT file.


Changing the font mapping for an existing Authorware file

To change the font mapping for an existing Authorware file:

1.	Using any text editing application, edit the FONTMAP.TXT.

See Editing the FONTMAP.TXT file.

2.	Open the Authorware file whose font mapping you want to change.

3.	Choose File > Font Options on the Modify menu.

4.	Click Load Font Map.

This option lets Authorware load the font mapping assignments specified in the font map file.

5.	In the dialog box, select the font map file you just edited and click Open.

6.	Click OK in the Font Options dialog box.

7.	Save the Authorware file and close it.

8.	Open the Authorware file again. The Authorware file now uses the font map information specified in the font mapping file.


Conversion
3.5 to 4.0 Conversion

Just as in Authorware 3.5 and Authorware 3.0, Authorware 4.0 cannot convert older file versions across platforms. You must convert to the later version of Authorware first, and then convert between platforms. Authorware converts files when you open them.


Presentation window sizes

Authorware 4 supports all current window sizes on both platforms. The latest cross-platform Presentation window sizes are as follows:

*	512 x 342 (Mac 9")

*	512 x 384 (Mac 12")

*	640 x 350 (EGA)

*	640 x 400 (Mac Portable) - formerly PowerBook)

*	640 x 480 (VGA, Mac 13") - formerly High-Res RGB, 13" & Monochrome, 12" )

*	640 x 870 (Mac Portrait)

*	800 x 600 (SVGA)

*	832 x 624 (Mac 16")

*	1024 x 768 (SVGA, Mac 17")

*	1152 x 870 (Mac 21")

*	Use Full Screen


File Extensions

The default file extensions for binary-compatible file types are shared on all platforms:

*	Authoring mode piece (Authorware 4.x piece) = .A4P

*	Authoring mode library (Authorware 4.x library) = .A4L

*	Model (Authorware 4.x model)= .A4D

*	Packaged piece (Authorware 4.x runtime package) = .A4R

*	Packaged library (Authorware 4.x external libarary package) = .A4E


Basic Concepts

Authorware basic components

Building a piece-overview

Editing an icon-overview

Authorware file properties

Distribution-overview

Ways to package a piece

Which files to include

Packaging libraries-overview


Authorware's basic components
Authorware basic components

With Authorware you construct a multimedia piece by assembling icons on a flowline.

Icons contain the objects that you include in the piece. Different types of icons contain different types of objects, such as graphics, text, sound, digital movies, or a set of instructions.

Some types of icons share common traits:

•	Display, digital movie, and video icons display objects in the Presentation window. Interaction icons can display objects along with objects in other icons.

•	Motion and erase icons affect icons that display content.

•	Framework, decision, interaction, and calculation icons control the piece's branching and navigation.

•	Map icons contain groups of other icons. Each map can be opened to display its segment of the flowline in its own Design window.

See Icon palette-overview

Sprite icons add special functionality to Authorware through sprite Xtras. Sprite icons come from the Insert menu. See Using a sprite Xtra

The flowline organizes the icons and determines the sequence in which Authorware runs them. The icons' order on the flowline determines the order in which events take place when the piece runs. The flowline appears in the Design window.

See Design window

The visual parts of the piece appear in the Presentation window. This is where you arrange objects on screen and test run the piece as you construct it.

For convenience, you can open a toolbar that lets you choose many Authorware commands by clicking buttons instead of choosing items from the Authorware menus.

See Show Toolbar


Building a piece-overview

Authorware basic components

You build a piece by placing icons on the flowline and setting them up as you want.

For all icons except navigate and wait icons, Authorware initially assigns the icon the name Untitled when you drag it onto the flowline. Navigate icons receive the title Unlinked. Wait icons don't automatically receive a title. Instead, the text cursor appears next to the wait icon.

You can add and rearrange icons by dragging them from the icon palette, cutting and pasting them, or dragging them to different locations.

•	When you drag icons, they are inserted at the spot in the flowline nearest where you release the mouse button.

•	When you paste icons, they are inserted where the Paste Hand is pointing.

Because framework, decision, and interaction icons have other icons attached to them, you can't cut a decision icon or interaction icon without also cutting all the icons attached to it.


Editing an icon-overview

Icons that display their contents on the screen-the display, digital movie, and video icons-open the Presentation window when you edit them.

The toolbox appears when a display or interaction icon is open for editing in the Presentation window. The tools that are available depend on the type of icon that is open.

For display, digital movie, sound and video icons and displays within interaction icons, the Modify menu provides more options. The menu items available are the ones that can be applied to the type of icon that is currently active.

For motion and erase icons, the Presentation window also shows the contents of their associated icon or icons.

The Presentation window doesn't appear when icons that don't use it-such as navigate, wait, and calculation icons-are opened for editing. Instead, Authorware opens the corresponding options dialog box or window.


Authorware file properties

Authorware lets you set many overall conditions for the piece, such as the following:

•	Presentation window size

•	The background color for the Presentation window

•	The default title used for wait buttons

•	Which folders Authorware searches for external files

•	Whether to run the piece from the beginning or from where the user left off. Authorware keeps track of where the user left off by keeping a user record.

It's a good idea to set up certain overall conditions for the piece when you create the file. You can change these conditions in the File Properties dialog box.


Ways to package a piece

When you distribute an Authorware piece, you want to provide users a packaged piece-a separate version that users can run but not edit.

The RUNA4W and RUNA4M applications can run a packaged Authorware piece, but provide no authoring capabilities. As a result, the piece can run on computers that don't have Authorware installed, and its content and logic are secure.

You can package a piece in one of two ways:

•	Package the piece with RUNA4W or RunA4M embedded in it. The result is a stand-alone piece that users can run without any other software. See RUNA4W or RunA4M-overview.

•	Package the piece without RUNA4W or RunA4M. When you select this option, a computer must have RUNA4W or RunA4M available in order to run the packaged file. Shockwave pieces do not require RUNA4W or RunA4M.

In addition to the packaged piece, you must make sure that any additional files the piece needs are available on the computer that the piece runs on. See Which files to include.


Which files to include

A piece typically consists of not only the Authorware file that contains the flowline, but also external files such as libraries that the Authorware file uses. To run properly, a packaged piece requires that these external files be available. When they aren't already available on the computer running the packaged piece, you must provide them.

Be sure to include the RUNA4W or RUNA4M application when it isn't packaged into the piece.

See RUNA4W or RUNA4M-overview.

Which files a piece requires depends on the piece's components and the platform it runs on. In addition to the Authorware file that contains the flowline, you might need to include these files when you distribute a packaged piece:

Include for:	16-bit Windows	32-bit Windows	Macintosh
Any piece	ViewSvc.X16 MIX16.X16 MIXView.X16 BMPView.X16	ViewSvc.X32 MIX32.X32 MIXView.X32 BMPView.X32	Viewer Services MIX Services MIX Viewer BMP Import Export
External media	Linked files such as external graphics, sounds, Director movies, QuickTime, or Video for Windows MIX Xtra file for the specific file format
Fonts on different platforms	Include the font files used for the piece. Use the FONTMAP.TXT file to specify fonts on different computer platforms.
QuickTime movies	QuickTime for Windows A4QT.XMO	QuickTime for Windows A4QT32.XMO	QuickTime
AVI movies	A4VFW.XMO	A4VFW32.XMO	Not supported
Director movies	All the files in the Director folder. The Director folder is inside the Authorware folder.
Videodisc player	The driver that supports the device.
ActiveX controls	Not supported	ActiveX.X32	Not supported
Custom functions	The Xtra, DLL, UCD, U32, or XCMD file that provides the custom functionality
Custom transitions	The Xtra file that contains the custom transition
The only place Authorware 4 looks for Xtras is in the Xtras folder. The Xtras folder must be in the same folder as the application. The application folder is either the folder that contains Authorware 4, the folder that contains RunA4M/RunA4W or the folder that contains a piece packaged with RunA4M/RunA4W.


RUNA4W or RUNA4M-overview

More than one piece can use the same copy of the runtime application. Therefore, when you distribute multiple files, package the individual pieces without the runtime application to save disk space. Packaging RUNA4W or RUNA4M with each piece increases its size by approximately 800K. Shockwave pieces do not require RUNA4W or RUNA4M because the browser plug-in serves as the runtime application.

When you package files without RUNA4W or RUNA4M, make sure that RUNA4W or RUNA4M is available to the first piece that runs.


Distribution-overview

You can distribute your work in several ways: on disk, on CD-ROM, or over a network. Authorware needs only to see an accessible disk; it makes no distinction between a local hard drive, a removable disk, or a network server.

The following sections describe some common arrangements you can use.

Single disk

Several disks or CD-ROM

Local area network

World Wide Web

The following sections describe the concept of packaging.

Ways to package a piece

Packaging libraries-overview

Packaging and distribution basics


Single disk

A packaged piece rarely fits on one floppy disk, but a disk is a good choice when the runtime application and packaged piece can fit on it. You can embed the runtime application or include it as a separate file on the disk. Of course, when the runtime application is separate, it is available to use with other pieces.

Copying the piece to a hard disk before running it improves performance significantly. Users may copy the packaged Authorware file to their hard drive.


Several disks or CD-ROM

Use several disks when your file won't fit on one disk but can be divided into several portions that can fit on individual disks. When you distribute several packaged files that can share the runtime application, package each piece without the runtime application and include one copy of RUNA4W or RUNA4M. After the pieces are copied to a hard drive, an unlimited number of files can use the copy of RUNA4W or RUNA4M.

If you use several disks, include an installation program that makes it convenient for the user to install the piece.

CD-ROM is a very good choice for pieces that use digital video, sound and other large media elements. Test the finished piece on a hard disk before conversion to a CD-ROM.


Local area network

You can distribute a piece on a hard drive, CD-ROM, or a server attached to a local area network. More than one network user can run RUNA4W, RUNA4M, or an Authorware piece at one time. However, for multiple users to run a piece simultaneously, you must include a signon routine at the beginning of the piece. This signon should create a unique user records file for each user.


World Wide Web

Use the Afterburner application to prepare a finished piece for delivery over an intranet or the Internet.


Packaging libraries-overview

When packaging an Authorware piece that contains icons linked to a library file, you must provide the packaged library also. The packaged libraries must be available to each computer that runs the packaged piece.

You can provide the library by packaging it within the piece or you can package it and provide it separately. Packaging and providing a piece separately avoids duplicating the library's content and saves disk space. However, you must make sure the library is available on the computer that runs the piece.

When you package libraries separately, store packaged library files in the same folder as the piece or in a folder listed in the Search Path field in the File Properties dialog box. Putting packaged libraries in one of these locations ensures that the runtime application can find them. If the runtime application can't find a library file when opening the piece, a standard dialog box appears that asks the user to locate the library file.

Note: RUNA4W and RUNA4M read libraries, but don't write to them. Therefore, libraries can be shared by more than one piece at a time over a network.

When a link between an icon and the library it's linked with is broken, the icon's contents don't appear. However, Authorware still presents the icons, and takes into account all other information about the icon such as option settings and attached calculations. Even though no contents are displayed, variables can be affected.


Links to external media-overview

The External Media Browser is a convenient place to track and edit many links at one time, but links to external media can also be edited inside properties dialog boxes.


Dragging and dropping in Authorware-overview

•	When you drag and drop content into the Design window, Authorware automatically places the content in the appropriate type of icon. Each icon is automatically given the name of the media file that it contains.

•	When you drop multiple objects to the right of an interaction icon, each object becomes a result icon.

•	When you drop multiple objects to the right of a decision icon, each object becomes an icon in its own separate path.

•	When you drop multiple objects to the right of a framework icon, each object becomes an icon in its own separate page.

•	When you drag image files to an existing display or interaction icon, they're added to the images that may already exist there.

•	When you drag a sound or movie file to an existing sound or movie icon, it will replace the previous content.

•	When you drag content into a library window, it is added to that library.

•	When you drag an image file into the Authorwares Presentation window, it is added to the images that may already exist there. On Windows, if other applications support it, image files and graphic objects can be dragged from them.


Movie files and external linking

The following movie formats can only be stored externally:

Windows: AVI (Video for Windows), MOV (Quicktime), DIR (Director), MPG 	(MPEG movies)

Macintosh: Quicktime, Director (AVI and MPEG are not supported on the Macintosh)

The following movie formats can only be stored internally:

Windows: FLC, FLI, CEL, DIB Sequences

Macintosh: PICS


File structures-overview

In addition to the Authorware file that contains the flowline with the icons you've arranged on it, Authorware typically uses several other files when it runs a piece. These may include:

•	Libraries linked to the piece

•	Linked external files such as digital movies or sound files

•	User records

•	Any drivers that the piece requires

•	Any custom function files that the piece requires

When running a piece, Authorware searches through specified folders in a set order until it finds these files. It is critical to make sure that files are in a folder that Authorware searches.


Default search path-overview

When Authorware runs a piece, it must be able to find the additional files such as libraries and drivers that it requires. Authorware does this by searching a series of folders. Placing files in one of these folders is the simplest way to make sure that Authorware finds them.

The default set of folders that Authorware searches differs on Macintosh and Windows computers.


The default search path on Windows

Default search path-overview

On Windows, Authorware searches directories for files in the following order:

•	The directory where the file was located when you first loaded it. (When the piece is packaged or the file is moved, Authorware no longer finds the file unless you tell it the file's new location.)

•	The directory where the piece is located

•	The directory that contains Authorware or RUNA4W, whichever is currently running

•	 The Windows directory

•	 The Windows System directory


The default search path on the Macintosh

Default search path-overview

On the Macintosh, Authorware searches folders in this order:

•	The folder where the file was located when you first loaded it. (When the piece is packaged or the file is moved, Authorware no longer finds the file unless you tell Authorware the file's new location.)

•	The folder where the piece is located

•	The folder that contains Authorware or RunA4M, whichever is currently running

•	The System Folder


Specifying file locations-overview

Default search path-overview

You might want to put files in places other than the default folders. For example, the piece could be on a server and available to a group of people. Rather than store separate copies of all the files on each local computer, you could make them available from the server. In these cases, you must tell Authorware which folder contains the file and where to find it. You can do this by specifying folders in the following places:

•	In the Search Path field of the File Properties dialog box specify folders that Authorware always searches after the piece starts.

•	In the variable SearchPath specify folders that Authorware searches in addition to the folders listed in the Search Path field. Because Authorware searches folders listed in the variable SearchPath only after the piece has started, don't include folders that you want Authorware to search for libraries. Libraries must be opened when the piece opens, so it is best to list their folders in the Search Path field in the File Properties dialog box.

When a piece is packaged, Authorware loses track of where external files were located when you loaded them. You must use one of the methods just described for making sure a packaged piece finds external files when it runs.

You can specify folders and files by their names-delimited by backslashes(\), forward slashes(/), or colons(:).

If you specify partial pathnames that don't include the root directory, Authorware interprets the path as a subdirectory of the directory for the current piece. However, placing a path delimiter (\,/ or :) before the partial pathname causes it to move up one directory.

For example, if the directory for the current piece is C:\A4W\MYFOLDER and the default Search Path is set to LIBRARY\MEDIA;DATA\, Authorware interprets the search path as C:\A4W\MYFOLDER\LIBRARY\MEDIA and C:A4W\MYFOLDER\DATA. However Authorware interprets the Search Path \LIBRARY\MEDIA;\DATA\ as C:\A4W\LIBRARY\MEDIA and C:\A4W\DATA.

Note: It's possible that you have set up a search path correctly, but that for some reason the file or folder is missing from its proper location. Use the FileType function to check whether a file or folder is where you expect it.


User records-overview

Authorware creates user records when it runs a piece that has Resume selected in the On Return option of the File Properties dialog box. It retrieves the values in the user records file to determine what the location on the flowline and current custom variable values were when the user quit or Authorware jumped out of the file.

When you distribute packaged files that have Resume set in the File Properties dialog box, make sure the user's hard disk contains enough space for the user records folder. The amount of space needed depends on the number of files, the number and contents of custom variables, and the number and type of objects appearing in the Presentation window when the records are saved.

Typically, you should reserve about 100K for the user records folder. Authorware automatically allocates space in the records folder for each file.


Location of user records

Records folder-overview

Users often want to explore a piece part way and later return to where they left off. Authorware lets users do this by recording data about the current condition of the piece when the user quits a session. The information is saved in a separate file, called a user record.

Authorware creates a user records file whenever Resume is selected in the On Return option of the File Properties dialog box. It retrieves the values in the user records file to determine where the user was when they quit last.

Windows	The default directory for user records is A4W_DATA, which is in the Windows directory.
Macintosh	The default folder for user records is the folder RunA4M Data, which is located in the Preferences folder within the System Folder.
If this folder doesn't exist on the user's computer, Authorware automatically creates it when the user first runs an Authorware piece.

Windows	Each user record receives a filename that consists of the first eight characters of the piece's filename and the extension .REC.
Macintosh	Each user record receives a filename that consists of the piece's complete filename and the extension .rec.
For a piece used by more than one person, you can create separate user records for each user by assigning each person's records file to a separate folder.

The most reliable places to put user records are in the records folder, in a folder within the records folder, or in the same folder that contains the current Authorware file.

Determining the user record's location

The system variable RecordsLocation contains the current pathname for the records folder, regardless of where the records folder is located. This provides a simple and reliable way to locate user records when files are rearranged or when Authorware switches among records for multiple users.


Records folder-overview

User records-overview

There are several reasons for changing the location of the records folder. For example, you can:

•	Route users to different files in a modular piece and still retain their individual records

•	Set up separate records folders for individual users when multiple users work with the same piece

•	Relocate records to another disk (often necessary when you are running on a network)

Note: If user records are write-protected, Authorware is prevented from updating records as the piece runs. This commonly occurs because the user doesn't have access privileges to the folder. It's a good idea to check whether the user record is write-protected by trying to write a text file to the folder that contains user records.


Ways to interact

You can give users any of five different ways to interact:

•	Click a button, a hot spot, or a hot object

Setting up a button

Setting up a hot spot

Setting up a hot object

•	Choose an item from a pull-down menu

Setting up a pull-down menu

•	Enter text

Setting up a text-entry field

•	Press a key

Waiting for a keypress

•	Drag an object to a target

Letting users drag an object to a target

You can also track and react to these circumstances during an interaction:

•	The number of tries a user has made

Limiting the number of tries

•	The amount of time that has elapsed since the interaction began

Putting a time limit on an interaction

•	Any condition that can be true or false

Reacting to special conditions

Finally, you can track and react to events produced by components such as ActiveX controls embedded in an Authorware piece.

Setting up an event response


The components of an interaction

Imagine a common computer interaction: A user starts an application, and a list of topics appears on the screen. The user clicks a button to choose a topic. The application branches to the segment the user has chosen.

Those are the basic components of any interaction: a way to interact (a button), a response (a click), and a result (the application branches).

A way of interacting

There are lots of different ways to allow users to interact. You can set up buttons for them to click, menus for them to choose from, fields where they can enter text. You can let them click a country on a map to find out more about it or click a word in a passage of text to see its definition. You can wait for them to press a single key to move a cursor around the screen. You can test their knowledge of human anatomy by having them assemble the bones of the skeleton.

When you design an interaction, always choose the most efficient way of interacting. For example, it's easier for users to point to a country and click it than to type the name of the country in a text field. But it's quicker for most users to type their name in a text field than to spell it out by clicking letters on the screen.

A response

The response is the action the user takes.

The way you set up an interaction prompts users to respond in a certain way. If you set up a button, you expect users to click it. If you set up a field, you expect them to type something in it. Users, however, don't always do what you expect. Suppose you've set up a multiple choice question with answers that are numbered 1, 2, and 3. Most users may click an answer, but others may type 1, 2, or 3. Some may do nothing at all.

Any response that you anticipate a user might make is called a target response. In a multiple choice question, the right answer is a target response, but so are all the wrong answers. Good design also means anticipating even inappropriate actions-such as typing a number rather than clicking an answer, or doing nothing at all-treating the inappropriate actions as target responses, and reacting to them.

The result

The result of an interaction is whatever you set up Authorware to do in response to a user's action. You might display simple feedback on a wrong answer and a prompt to try again. Or you might launch a web browser and start downloading information over the Internet. The result of an interaction can be anything Authorware can do.


How an interaction works

In Authorware, the structure of an interaction looks like this:

The four main components are the interaction icon, the response type symbol, the result icon, and the result path. You can have more than one response type symbol-result icon pair attached to an interaction icon.

To create an interaction, drag an interaction icon to the flowline and use it as the foundation of the interaction structure. You build the structure by attaching icons to the interaction icon. Each icon you attach is called a result icon. For each result icon, you set up a response type symbol. The response type symbol gives users a way to interact, and it defines the target response that directs the flow down the result path to the result icon. The result path also determines where Authorware goes when it leaves the result icon.


The interaction icon

The interaction icon works in part like a display icon: it displays the buttons, menus, text-entry fields, and other elements that allow users to respond to an interaction. You also use it to:

•	Display text and graphics that you want to appear throughout an interaction

•	Control such things as whether Authorware displays that text and graphics with a transition, where it positions them, which layer it places them in, and when it erases them

•	Set whether Authorware erases the screen at the end of an interaction and whether it uses a transition

Most importantly, however, the interaction icon monitors the actions of the user and sends that information to the response type symbols attached to it.


The response type symbol

You use the response type symbol, to give users a way to interact. The response type symbol you choose tells the interaction icon whether to display a button, a menu, a text-field or some other element.

Sometimes you may want to interact not just with users, but with circumstances and events. So, there are two other ways to use the response type symbol. One is to use it to track and react to circumstances that are part of the interaction. For example, you can set up a response type symbol to keep track of time and to react if a user doesn't respond within some limit you set. You can also use the response type symbol to track and react to events produced by other components embedded in an Authorware piece, such as an ActiveX pop-up menu or calendar control. For example, you can set up a response type symbol that reacts when the date changes.

Once you've set up a response type symbol to allow a user (or a circumstance or an event) to interact with Authorware, you use the response type symbol to define the target response. Sometimes that's easy (the target response for a button, for instance, is a user's clicking it). Sometimes it's much more difficult than it might seem. Consider, for example, a text-entry field. Suppose you want a user to respond to a question by typing the correct answer. How do you treat a word that's misspelled (sattellite, instead of satellite), or a synonym (moon, instead of satellite), or an extra word such as a or the, or an answer that's so wrong it's impossible to predict? What if you want a number and a user types text? How do you deal with all the numbers that are too large or too small as well as the correct answer? Authorware has a way of dealing with all those possibilities, but it means anticipating them and setting up target responses to handle them.

Most interaction icons, have more than one response type symbol attached to them. In some cases, those response type symbols represent nothing more than options-the choices on a menu, for example. In other cases, they represent correct and incorrect answers. For that reason, you also use the response type symbol to indicate whether a user's response is right or wrong.

Two final things you do with the response type symbol are related to the result icon: you use it to tell Authorware when to erase any text or graphics displayed by the result icon and to direct the flow after Authorware leaves the result icon.


The result icon

The contents of the result icon-the icon that's attached to the response type symbol-determines what happens when Authorware detects the response type symbol's target response. You can use any icon on the palette as the result icon, but it's best to use a map icon because it's the most flexible. You can add and remove icons from it easily as you construct the result of the interaction.


The result path

The result path determines where the flow is directed after Authorware exits the result icon. Normally, you can choose to direct the flow to the next response type symbol, back to the interaction icon, or out of the interaction to the next icon on the flowline.


 Buttons, hot spots, hot objects, and hot text

From a user's point of view, a button, a hot spot, a hot object, and hot text all work the same way: you click it and something happens as a result. Each one, however, has characteristics that make it ideally suited to some situations and not to others.

What makes a button unique. A button can have as many as eight different states. It can look one way when it appears on the screen, a different way when the user positions the cursor over it, yet another way when the user clicks it, when it's disabled, when the user has selected it, and so on. It can also make a different sound when it changes to any of its eight states.

A button is also the simplest and most straightforward way to display a control that can be either selected or deselected, such as a radio button or a check box.

For information about creating a button, see Creating a custom button.

For information about setting up a button in an interaction, see Setting up a button.

What makes a hot spot unique. You can make any rectangular area on the screen a hot spot. The area doesn't have to be a discrete graphic, as buttons and hot objects do. That means you can turn an image that's part of a background into a hot spot without editing out the background that surrounds it. You can also make the entire Presentation window a hot spot, to provide feedback if a user happens to click an area that's neither a button, a hot spot, nor a hot object. For information about setting up a hot spot in an interaction, see Setting up a hot spot.

What makes a hot object unique. Although a hot object has to be discrete from its background, it doesn't, like a hot spot, have to be rectangular. For example, if you want to make all the countries on a map hot, you can set up each one as a hot object. You can also make an entire text object hot by setting it up as a hot object. That means you don't have to take the extra step of setting up a system variable, as you do if you want to make a single word or an item on a list hot text. For information about setting up a hot object in an interaction, see Setting up a hot object.

What makes hot text unique. You can use the system variables WordClicked (or LastWordClicked) and LineClicked (or LastLineClicked) to identify any word or line of text a user has clicked, as long as the word or line of text is part of a text object. For example, if you were creating a course to teach a foreign language, you could display a dictionary entry for any word a student clicked. For information about setting up a hot object in an interaction, see Setting up hot text.

You can also use hot text to navigate from one part of a piece to another-but if that's what you want to do, you don't have to set up an interaction. Instead, you set up a hot text style in the Define Styles dialog box, apply the style to the text, and use the Edit Navigation command to set a destination. For more information, see Navigating with hot text.


Buttons, check boxes, and radio buttons

Authorware's Button Library dialog box contains standard Windows and Macintosh buttons, check boxes, and radio buttons ready for you to use.

Windows

Macintosh

Buttons-Use buttons when you want the results of the choice a user makes to take effect immediately. For example, use standard buttons for navigation controls, for the choices on a menu screen, and for Help and Quit buttons.

Radio buttons-Use radio buttons for mutually exclusive options. For example, if you're creating a training course that displays text in more than one language, use radio buttons to let users select which language they want to appear on the screen.

Check boxes-Use check boxes for options that aren't mutually exclusive. For example, if you're creating a kiosk with travel information, use check boxes to allow users to select the activities they're interested in.

To create the type of button you want to use, you need to set up a button response type symbol and then select either a button, a check box, or a radio button from the Button Library dialog box. If you create a check box or radio button, you can use the system variable Checked to find out if the check box or radio button has been selected.


Button interactions

Buttons, hot spots, hot objects, and hot text

Buttons, check boxes, and radio buttons

Tracing the flow through an interaction

The components of an interaction

Ways to interact


Tracing the flow through an interaction

When you're setting up an interaction, you'll find it useful to be able to trace the flow though the interaction structure. If you keep in mind both the structure of the interaction and the way control flows through the structure, it will help you to organize the interaction, make sure it's complete, and figure out what's wrong with it if it doesn't work as you expect.

Waiting for a response

Checking for a match

Leaving the result icon

Back to the beginning


Waiting for a response

When Authorware encounters an interaction icon, it displays any text and graphic elements it finds there as well as any buttons, hot spots, text-entry fields, and so on defined by the response type symbols. It then halts and waits for a response from a user.

Each response type symbol corresponds to a type of response, such as a button.


Checking for a match

When a user responds, Authorware sends the response along the interaction flowline to see if it matches any of the target responses you've set up. Each target response is contained in a separate response type symbol. Each response type symbol acts like a switch. If the user's response doesn't match the target response in the response type symbol, the switch stays open, and Authorware sends the response along the flowline to the next response type symbol.

When a user's response matches a target response, the switch closes and directs the flow along the path you've set up for that response.

The flow follows the path to the result icon, where the contents of the icon determine what happens next.

Some target responses are triggered by circumstances rather than a user's action. If you've set up a response type symbol to impose a time limit on an interaction, as soon as the time you've set elapses, the switch closes and Authorware sends the flow down the interaction flowline. When it reaches the time limit response type symbol, the switch directs it to the result icon that's attached.


Leaving the result icon

When the flow leaves the result icon, the result path determines where it goes next. You can choose to direct the flow to the next response type symbol, back to the interaction icon, or out of the interaction to the next icon on the flowline.

The result path you choose and the position of the result icon it's attached to can effect whether or not an interaction works. For example, take a look at the interaction in the following illustration. The result path that the author has chosen for the first response type symbol prevents the flow from ever getting to any of the other response type symbols.

[ART #1 from page 261 of old Using Authorware]

One way to solve the problem is to change the result path so that it goes on to the next response type rather than going back to the interaction icon:

[ART #2 from page 261 of old Using Authorware]

Another way to solve the problem is to make the response type symbol the last one in the structure rather than the first:

[ART #3 from page 261 of old Using Authorware]


Back to the beginning

If the user's response matches none of the target responses in any of the response type symbols, the flow simply returns to the interaction icon, where Authorware waits for another response from the user.

Often it's a good idea to have a catchall target response at the end of an interaction so that it's impossible for a user to respond without getting some feedback. For example, if you set up a multiple choice question in which users are supposed to click the right answer, you can set up a catchall hot spot that covers the entire screen. If users click anything other than one of the answers, they'll trigger the hot spot. You can give them feedback, and then use the result path to take them back to the interaction icon.


Text, graphics, and the interaction icon

If you want text or graphics to appear only during an interaction-that is, if you want a question, a prompt or an image to appear as soon as a user enters the interaction, to remain on the screen throughout the interaction, and to be erased automatically when the user leaves the interaction-add the text and graphics to the interaction icon just as you would to a display icon.

Make sure that if you're setting up an interaction that uses a hot object or one that allows a user to drag an object to a target area, you put the object in a display icon that comes before the interaction icon.

You create, import, and link text and graphics just as you do with a display icon.


Custom buttons

You can use Authorware's Button Editor dialog box to create a custom button that's available whenever you want to use a button in an interaction.

A button can have eight different states-four normal and four checked states. Each state can look different and have a different sound associated with it. You can also show or hide the button's label in each state.

The normal states are:

•	The button's ready to be clicked

•	The cursor is over the button and the user has pressed the mouse button

•	The cursor is over the button but the user hasn't pressed the mouse button

•	The button has been deactivated

The checked states mean simply that a button has been clicked. They're most useful to show check boxes and radio buttons that have been selected.

For example, if a user clicks a check box, you'd display the check box's Up and Checked state, which shows the check box with an X in it. For complete information about each state, see Button Editor.

Creating a custom button is straightforward. For each of the button's states, you import a graphic and sound and select a setting to show or hide the button's label. If you don't want a different graphic and sound for each state, Authorware automatically uses a graphic and sound you've already imported; or you can choose no graphic or sound at all.

Before you start, create the graphic or select the clip art image you want to use for each of the button's states. Create a sound or select a clip sound for each state, too.


Custom button collections

Custom buttons are saved with the Authorware piece you use them in, not with the Button Editor dialog box. If you want to create a collection of custom buttons that you can use in various pieces, you need to set up a dummy interaction, use the custom buttons in the interaction, and then save the interaction as models. When you want to use the collection in a piece, load the model that contains the dummy interaction.


Pull-down menus

Pull-down menus are ideal for providing users with options without taking up space on the screen.

They're best for options that you want to be available to users over a period of time while they're engaged in some activity, rather than for options that you want to display at a decision point where a user must make a choice. As a consequence, pull-down menus are usually perpetual interactions. See Perpetuals-interactions that are always active.

You can assign shortcut commands to the items on a pull-down menu, and Authorware will automatically display the shortcuts on the menu-just as in any standard Windows or Macintosh application.

When you create a pull-down menu interaction, Authorware uses the title you give the interaction icon as the title of the pull-down menu.

It uses the title you give each result icon that's attached to a pull-down menu response type symbol as the name of an item on the menu.

Although all the items in a pull-down menu interaction are usually pull-down menu responses, they don't have to be. For example, you might include a time limit response type symbol that prompts users to make a selection from the menu if they haven't made a choice after a set amount of time passes.


Hot spot interactions

A hot spot makes any rectangular area in the Presentation window interactive. They're ideal for making part of a background graphic interactive and also for setting up catchall areas. A catchall area-usually a hot spot as big as the entire Presentation window-lets you respond to users when they click near, but not on, the buttons or hot spots you've set up for them to interact with.


Catchall hot spots

Usually a catchall hot spot covers all the area in between and around individual hot spots. Because a hot spot immediately to the right of the interaction icon takes precedence over one farther to the right, you place the catchall hot spot last (farthest to the right). Clicking any individual hot spot takes precedence over clicking the catchall hot spot, which covers the entire area.


Hot object interactions

Making an object hot can be a much more efficient way of making an object interactive than drawing a hot spot over it. It's especially useful if the object isn't rectangular and you want the area that's interactive to correspond to the object exactly-for example, if you want each country on a map to act as a button. It's also useful if you're moving an object around the screen and you want it to remain interactive no matter where it's located.

The most important rule to remember when you're setting up a hot object is to make sure that the object is in a display icon by itself. Authorware actually makes the contents of the entire display icon hot. So, if there are several objects in the same display icon, they all become hot, and they all react the same way.


Keypress interactions

Sometimes the easiest way for a user to do something is to press a single key. For example, if you set up a screen with several text-entry fields on it, the easiest way to get from one field to another is to press the Tab key. You can use a keypress response type symbol to make that possible.

You can set up a keypress response type symbol to react to a single key or to a key combination such as Control-A or Command-?. You can also set up a single keypress response type symbol to react to several different keys or key combinations (although it can react to only one key or key combination at a time). And you can set up a keypress response type symbol to respond any key at all, no matter which one a user presses.

Make sure you don't try to use the keypress response type symbol to do things other response type symbols are designed to do. For example, don't use a keypress response type symbol to set up an optional key for a button, hot spot, hot object, or pull-down menu item. Each of those response type symbols has a field in its options dialog box in which you can define an optional key. And don't use the keypress response type symbol when you want a user to enter text in a field. To do that you use a text entry response type symbol.


Keypress rules

Recognizing a single key or key combination

Recognizing more than one key or key combination

Recognizing any key or key combination


Recognizing a single key or key combination

To recognize a single key, type the letter, number, or symbol that appears on the key in the field.

Authorware distinguishes between uppercase and lowercase letters. For example, h (the H key) and H (Shift plus the H key) are different. If you want Authorware to recognize both the shifted and unshifted variants of a key as a match, you have to enter them both; see Recognizing more than one key or key combination.

Note: If you want Authorware to recognize a question mark(?) as a match, type \? rather than a question mark by itself. Authorware interprets a question mark by itself as a wildcard.

For keys such as the Tab key, the Return key, or an arrow key, type the name of the key. For a complete list of the names that Authorware recognizes, see Key names.

If you want to use Alt, Cmd, Ctrl, Option, or Shift, follow it immediately with the key you want a user to press at the same time. For example, if you want Authorware to recognize Control-a as a match, type Ctrla.


Recognizing more than one key or key combination

To recognize more than one key or key combination, enter all the keys you want Authorware to recognize, separating them with the "or"(|) operator. For example, if you want Authorware to recognize both h and H, type:

h|H

Or, if you want Authorware to recognize both the Page Down key and the Down Arrow key, type:

PageDown|DownArrow


Recognizing any key or key combination

To recognize any key or key combination, type a question mark(?). The question mark is a wildcard; it tells Authorware to accept any key as a match.

Use a question mark to set up a symbol for any unanticipated keys that users might press. Make sure that you place the symbol with the question mark to the right of any symbols that anticipate specific keys. Authorware always checks for matches starting with the left-most symbol. By putting the symbol with the question mark farthest to the right, you force Authorware to check the key the user has pressed against all the specific target responses before it reaches the catchall symbol.


Text-entry interactions
Text entry interactions

Set up a text entry interaction to create a text field where a user can enter text.

An interaction has only one text entry field, no matter how many target responses there may be. That's because no matter how many entries you want to match and provide specific responses for, a user makes only one entry at a time. (If you want to set up several different fields on the same screen where a user can enter different pieces of information-such as a name and a password-you need to create two separate interactions.)

If the text a user enters doesn't match the title of any the text responses, nothing happens, the text entry field remains active, and Authorware continues to wait for the user to enter text that will trigger one of the responses. (It's analogous to what happens when there are buttons on the screen and a user clicks near one, but not on it: Authorware ignores the click and continues to wait for the user to click directly on one of the buttons.)

Because there's such a broad range of possibilities to anticipate when you're allowing users to enter text, Authorware provides considerable flexibility in determining what constitutes a match. You can set up a text entry response type symbol to react to any text that a user might enter (see Reacting to any text) or to react only to the exact text you're waiting for (see Reacting only to an exact match). In fact, you can set up two such text entry response type symbols in the same interaction-one that reacts to any text and one that reacts only to an exact match. Remember that if both response type symbols are attached to the same interaction icon, they both evaluate the text a user enters in a single text-entry field. So you'd set up the response type symbol that's waiting for an exact match with the correct answer and you'd set up the response type symbol that reacts to any text to catch all the wrong answers.

You can also set up a text entry response type symbol to accept words that are synonyms (see Accepting equivalent words or phrases) or to accept variant spellings of a word (see Accepting variant spellings).


Text-entry rules

Reacting to any text

Reacting only to an exact match

Accepting equivalent words or phrases

Accepting variant spellings

Ignoring non-essentials in a text entry


Reacting to any text

To react to any text, type an asterisk(*). The asterisk is a wildcard; it tells Authorware to accept any text a user enters-a letter, a number, a word, a phrase, or even a paragraph-as a match.

If you're just gathering information, such as a user's name, use an asterisk. Authorware automatically stores anything a user enters in the variable EntryText. You can transfer the text in EntryText into a custom variable and then use the information in any way you want. For information about custom variables, see Custom variables-overview.

When you want a specific answer, use a response type symbol with an asterisk for any unanticipated answers a user might enter. Make sure that you place the response type symbol with the asterisk to the right of any text-entry response type symbols that anticipate specific answers. Authorware checks for matches starting with the left-most response type symbol. By putting the response type symbol with the asterisk farthest to the right, you force Authorware to check the text the user has entered against all the specific target responses before it reaches the catch-all response type symbol.


Reacting only to an exact match

To react only to an exact match, type the text exactly as you want a user to enter it.

Note: If there's an asterisk(*) or a question mark(?) in the text you want the user to match, type \* or \? rather than an asterisk or a question mark by itself. Authorware interprets an asterisk or a question mark by itself as a wildcard.


Accepting equivalent words or phrases

To accept equivalent words or phrases, type one form of the correct answer, the or (|) operator, the second form, and so on.

For example, if you want to accept both moon and satellite as the correct answer to a question, type:

moon|satellite


Accepting variant spellings

To accept variant spellings, use an asterisk(*) or a question mark(?) as a wildcard.

Use an asterisk as a substitute for an entire word or any missing part of a word. For example, if you want to accept either satellite, sattelite, or satelite, type:

sat*el*ite

Use a question mark as a substitute for any single character that cannot be missing. For example, if you want to accept either Rome or Roma, type:

Rom?

Because a question mark accepts any letter as a match, Rom? also accepts Romb, Romc, Romd, and so on.

For a chart of all the possible combinations of the wildcards, see Text entry responses.


Ignoring non-essentials in a text entry

You can have Authorware ignore capitalization, extra punctuation, spaces, extra words, or word order in a text entry. See Text Entry properties.


Hot text

Hot text is text that works like a button. When a user clicks it, something happens.

There are two reasons you might want to create hot text. One is to allow a user to use the hot text to navigate from one part of a piece to another. For example, the user might click a topic that's mentioned on the screen to go to the section that covers the topic in detail. Hot text that's used for navigation is called hypertext. For information about creating hypertext, see Navigating with hot text.

The other reason you might want to create hot text is to ask a question about the text and to give a user a way to respond. Suppose, for example, that you were to display a sentence on the screen and ask a student to pick out the noun in the sentence.

The structure of the interaction looks like this:

The display icon named Instructions & Sentence displays the text that appears in the Presentation window. Attached to the interaction icon are five conditional response type symbols, one for each word in the sentence "I gave him three dollars." The system variable WordClicked is used in each response type symbol. Whenever a user clicks a word displayed in the Presentation window, Authorware automatically stores the word in WordClicked. Each conditional response type symbol compares the word stored in WordClicked with the word set up as the symbol's target response. If the two words match, Authorware follows the path to the icon attached to the response type symbol.

You can also use the variables LastWordClicked, LineClicked, and LastLineClicked to create hot text.


Target area interactions

You can create all kinds of interesting interactions by allowing a user to drag an object to a target area. For example, you can ask the user to create a map by dragging countries to their proper location, to assemble a machine by dragging its parts to fit together, to trace the flow of a process by arranging its parts in the correct sequence, or to reconstruct history by lining up events in the order in which they actually happened.

You can also create an interaction that gives a user the freedom to arrange the order in which Authorware presents the articles in a digital magazine, to landscape a garden, or to rearrange the furniture in a room.

You can do all those things with Authorware's target area response type symbol.


Target area safety nets

It's a good idea to set up a safety net-a target area that covers the entire screen and that matches any object. If a user fails to drag an object to its target, the safety net returns the object to its original location so the user can try again.

Because a target area response type symbol that's immediately to the right of the interaction icon takes precedence over one farther to the right, you place the safety net last (farthest to the right). Dragging any object to its assigned target area then takes precedence over dragging an object to the safety net, which fills the area around and between the other target areas.


Why freeze an object?

It's often a good idea to freeze a movable object after a user has dragged it to its target to prevent the user from moving it again.

Authorware has a system variable named Movable that indicates whether users can move the object that's contained in a display icon. Movable has a different value for every display icon in a piece. When the value of Movable is true for a given display icon, it means that users can move the graphics and text contained in the icon; if the value is false, it means they can't. You can also allow or prevent users from moving the contents of a display icon by setting Movable to true or false.

For information about making an object movable and setting up an interaction that lets users drag the object to a target area, see Letting users drag an object.


Why reset the variable Movable?

If you use Anywhere in the Icon Properties dialog box to make an object movable, Authorware sets the value of the variable Movable to true only once, at the very beginning when you run the piece. That means that if you set the value of Movable to false to freeze an object at some point, it remains frozen until you restart the piece. As a consequence, if users return to an interaction where the object appears, they have no way to respond to the interaction because they can't move the object.

The best way to make sure that Movable is set to true for an object is to create a statement that sets Movable to true and then attach the statement to the display icon that contains the object.


Why set boundaries for a movable object?

When you set up an object so a user can move it anywhere, it's possible for the user to move it not just anywhere on the screen, but off the screen as well. To prevent a user from losing an object, it's a good idea to set up boundaries that limit where an object can be moved.

You can also set up boundaries to restrict an object to a certain area of the screen. For example, you might limit objects representing checkers to the area that represents the checkerboard.


More than one chance

When you set up an interaction that has a right answer, you don't have to choose between giving users one chance to get it right and allowing them to try over and over again until they answer correctly. You can use the tries limit response type symbol to limit users to any number of tries.

You can also use the response type symbol to give users feedback after each wrong answer and still let them try again. For example, if a user has three tries to get a question right, you could set a tries limit response to display the message "Two tries left" after the first wrong answer. After another wrong answer, you could set a second tries limit response to display the message "This is your last chance." Even better, you could give them feedback that could help them figure out what the right answer is.

The number of tries a user has made at any given point in an interaction is recorded in the system variable Tries.


Time limit interactions

You can use the time limit response type symbol to limit the amount of time a user has to answer a question. You can also use the time limit symbol to warn users that their time is almost up and to prompt them to respond if they haven't done so after a certain length of time.

When you use a time limit symbol in an interaction, Authorware uses the system variable TimeRemaining to record the amount of time that's left. Authorware also records in the system variable TimeInInteraction the amount of time a user has spent in an interaction. (That's true even if you haven't used a time limit symbol in the interaction.)


Inactive buttons, menu items, and other response types

There may be times when you want a particular element in an interaction-a button or an item on a pull-down menu-to be available only under certain circumstances.

For example, suppose you want to allow students to display a map at any time by clicking a button named Map. You want the Map button to be on the screen all the time, except when the map itself is on the screen. To show and hide the Map button, you'd first set up a custom variable called Show Button. Then you'd place calculation icons at the beginning and end of the section of the course that displayed the map, like this:

In the calculation icon at the beginning of the section, you set Show Button to off with this statement:

Show Button := off

In the calculation icon at the end of the section, you set Show Button to on with this statement:

Show Button := on

In the Map button's options dialog box, you type this statement in the Active If True field:

Show Button = on

That statement tells Authorware to make the Map button active when Show Button is on and to make it inactive when Show Button is off. Finally, you'd select the Hide option in the dialog box to tell Authorware to hide the Map button when it's inactive and to show it only when it's active.


Conditional interactions

Conditional response type symbols are useful when you want something to happen in an interaction not simply when a user responds directly to the interaction (say, by clicking a button or entering text), but when some special condition is true.

For example, you may want to check whether the Caps Lock key is down before a user enters text. If users have a limited amount of time to complete an entire section of a course, you may want to tell them at the beginning of an interaction how much time they have left. Or you may want to skip an interaction entirely if something is true-for example, if a user has already answered another question correctly.

Any variable or expression that can be true can be the target condition for a conditional response type symbol.

There will probably be many instances in which you want to use more than one conditional symbol in an interaction to handle different conditions.


Automatic setting

The Automatic setting is a special feature of conditional response type symbols. It allows a conditional symbol to react to the target condition in an interaction without the need for a user to respond to the interaction at all. For instance, you'd select the Automatic setting in the example just described in which you want Authorware to skip an interaction entirely if a user has already answered another question correctly.

Remember that when you set up a response type symbol of any kind, Authorware knows what information is important to the symbol and watches for it so that it can send the information along to the symbol as soon as it becomes available. For example, if you set up a hot spot that's triggered when a user clicks it, Authorware records the location of the cursor whenever the user clicks the mouse button and sends the information to the hot spot symbol to see if it matches the hot spot's target area. If you set up a hot spot that's triggered just by the user's moving the cursor into the target area, Authorware doesn't wait for the user to click the mouse button. It sends information about the cursor's location to the hot spot symbol continuously so the symbol can react as soon as the cursor moves inside the target area.

Authorware knows what information is important to a conditional response type symbol, but when the Automatic setting is off, it sends that information along the interaction flowline only when it has information for a direct response type symbol, such as a button or text-entry field. When the Automatic setting is on, however, Authorware sends the information along the interaction flowline continuously so the conditional symbol can react as soon as the target condition is true.

The Automatic feature has two settings, On False To True and When True, that turn it on:

•	On False To True sets the conditional symbol so that it reacts to the target condition only once, when the target condition changes from false to true.

•	When True sets the conditional symbol so that it reacts to the target condition whenever it's true.


Conditional interactions: some examples

There's almost no limit to the way you can use conditional response type symbols in interactions. Here are a few examples to help you understand the range of situations you can use them in.

Using a logical variable to check a specific condition

Screening out unwanted entries in a text field

Providing feedback for entries in a text field

Providing feedback after all the correct items have been selected

Setting up a condition that's always true


Using a logical variable to check a specific condition

Suppose you want to make sure that the Caps Lock key isn't on when users enter information in a certain text-entry field. You'd set up an interaction that looked like this:

In the Match If True field of the conditional symbol's options dialog box, type:

CapsLock

CapsLock is a logical variable. It's true when the Caps Lock key is on and false when the key is off. When the key is on, the target condition in the Match If True field is true, so the conditional symbol directs Authorware to the result icon attached to the symbol. The result icon displays a messages that tells the user to turn the Caps Lock key off.


Screening out unwanted entries in a text field

Suppose you've set up a text-entry field where you know that entering any number (as in a name field) or entering any text (as in a social security or telephone number field) is a mistake. You can use a conditional response type symbol and one of two system variables (NumCount or WordCount) to catch the mistake and ask a user to reenter the information.


Providing feedback for entries in a text field

Suppose you wanted to ask students the question, "How many neutrons are there in an atom of Uranium 238?" and you wanted to create a text-entry interaction for their response. The easiest way to set up the interaction is like this:

}

The target response for the first conditional symbol is any entry that's less than 146. The target response for the second conditional symbol is the correct answer: 146. And the target response for the third conditional symbol is any entry that's greater than 146. The asterisk that's used as the target response for the text entry symbol is a wildcard that accepts any entry.

For another example, see Handling numerical entries.


Providing feedback after all the correct items have been selected

Suppose you set up an interaction in which you ask students to select the three primary colors out of six that are displayed in the Presentation window. To set up the structure of the interaction so that students remain in the interaction until they've selected all of the correct items, you use a conditional response type symbol and the system variable AllCorrectMatched. For more information, see Defining AllCorrectMatched as the target condition.


Setting up a condition that's always true

Suppose you've set up a menu, and you want to play the same sound no matter which of the menu items users select. One way to accomplish that is to include a sound icon in the result map icon attached to each response type symbol. An easier way to accomplish the same thing is to attach the sound icon to a conditional response type symbol and to set up a target condition that's always true. The structure of the interaction looks like this:

By placing the conditional symbol first and selecting Continue as its branching option, you make sure that whenever a user makes a choice, Authorware plays the sound and then returns to the interaction flowline and proceeds to the response type symbol that matches the option the user has selected.


Correct answers with several parts

There are cases in which an interaction contains more than a single correct answer. For example, you may have a target area interaction in which a number of elements have to be positioned correctly.

Authorware is able to determine whether all the response type symbols you've labeled as correct have been matched by checking the value of the variable AllCorrectMatched. If the value of AllCorrectMatched is true, it means that a user has provided the target response for all the response type symbols in the interaction whose Response Tracking option is Correct Response. Otherwise, the value of AllCorrectMatched is false.


Perpetuals-interactions that are always active

When Authorware encounters an interaction icon on the flowline, it normally waits until a user has responded to the interaction before it continues down the flowline. For example, if you display a menu on the screen, Authorware waits until a user has made a choice before it continues. There may be times, however, when you want a Help button or a pull-down menu to remain available the entire time a user is engaged in some activity. In that case, make the response type symbol that defines the option you want to remain available perpetual.

When Authorware encounters a perpetual interaction on the flowline, it activates it, and then immediately continues down the flowline. For example, if the interaction contains a Help button, Authorware displays the Help button, and then continues. Notice that the flowline is drawn differently for perpetual interactions than it is for normal interactions.

The response type symbols attached to an interaction icon can be mixed-some might be perpetual and some might be normal.

In that case, Authorware stops at the interaction icon to wait for a user to respond. After the user responds, Authorware exits the interaction. The normal response type is erased from the screen, but the perpetual response type remains active. In the preceding illustration, for example, Authorware erases the text-entry field when it exits the interaction, but leaves the Help button (which is perpetual) on the screen.

When a user responds to a perpetual-for example, by clicking a Help button you've set up as perpetual-Authorware immediately "leaps" from its current place on the flowline to the response type symbol you've set up as perpetual. It then follows the path from the response type symbol to the result icon attached to it. Where Authorware goes when it exits the result icon depends on the Branching option you've chosen for the perpetual. See Perpetuals and Return branching.


Perpetuals and Return branching

In addition to the three standard types of exit branching-Try Again, Continue, and Exit Interaction-a fourth type is available in perpetual interactions: Return branching. Return branching looks like this on the flowline:

If you've chosen Return branching, when Authorware exits the result icon it returns to the spot on the flowline where it was when the user responded to the perpetual interaction. Here's an example:

The illustration shows three interactions. When Authorware comes to the first one, Online Help, it activates a perpetual Help button and then immediately continues. The other two interactions, Question 1 and Question 2, aren't perpetual. When Authorware comes to each of them, it waits for the user to answer before it continues.

If the user clicks the Help button when Question 2 is on the screen, Authorware leaps to the map icon attached to the Help button response type symbol and displays the information it contains. When the user is finished reading the information, Authorware returns directly to Question 2 without displaying Question 1 again.


Return branching and framework icons

When you add a response type symbol to an interaction icon that's in the entry pane of a framework window, Authorware automatically makes the response type perpetual and sets its exit branching to Return.


Tracing the flow through a perpetual

When you set up a perpetual interaction, it's important to have a clear picture in your mind of the path Authorware is going to follow as it leaps from its current spot on the flowline to the perpetual interaction and then returns to the flowline. The path Authorware follows determines:

•	Whether Authorware automatically erases what's currently on the screen when it leaps to the perpetual

•	Whether Authorware displays the text and graphics in the interaction icon that the perpetual is attached to

•	Where Authorware goes after it leaves the result icon that's attached to the perpetual

The path that Authorware follows is determined by two things:

•	Whether Authorware is leaping backward (to a spot earlier on the flowline), forward (to a spot later on the flowline), or from a spot inside an interaction to a perpetual within the same interaction

•	The Branching option you've selected for the perpetual

Three other settings affect what happens when a user responds to a perpetual:

•	The Erase Interaction setting you've selected for the interaction icon that the perpetual is attached to

•	The Erase Feedback option you've selected for the perpetual

•	The Prevent Automatic Erase setting in the Effects dialog box

When Prevent Automatic Erase is in effect for an icon, Authorware ignores the Erase Interaction or Erase Feedback option you've selected.


Leaping backward to a perpetual

When Authorware leaps backward to a perpetual interaction, the Branching option you've selected for the perpetual response type symbol plays an important role in determining what happens.

?-Leaping backward and Return branching

?-Leaping backward and Exit Interaction branching

?-Leaping backward and Try Again branching

?-Leaping backward and Continue branching


Leaping backward and Return branching
?-Leaping backward and Return branching

If you select Return branching for the perpetual response type symbol, this is what happens when the perpetual is triggered:

	Authorware leaps directly to the result icon attached to the perpetual. It doesn't erase anything that's currently displayed in the Presentation window. Notice that Authorware doesn't go through the interaction icon to get to the perpetual. If you've set up the interaction icon to display text or graphics, they won't appear.
	When Authorware exits the result icon attached to the perpetual, it returns immediately to the icon where it was located when the perpetual was triggered.
Whether and when Authorware erases any text or graphics that were displayed depends on two things: the Erase Feedback option you've selected for the perpetual and the type of icon that Authorware is returning to.

•	If Authorware is returning to an icon other than an interaction icon, it interprets the Erase Feedback settings this way: if the Erase Feedback option is Don't Erase, it leaves the text and graphics on the screen; otherwise it erases them.

•	If Authorware is returning to an interaction icon, it treats the perpetual as if it were attached directly to the interaction. It interprets the Erase Feedback option you've selected accordingly.

Because Authorware bypassed the interaction icon when it leapt to the perpetual, it ignores the Erase Interaction option when it returns to the flowline.


Leaping backward and Exit Interaction branching
?-Leaping backward and Exit Interaction branching

If you select Exit Interaction branching for the perpetual response type symbol, this is what happens when the perpetual is triggered:

	Authorware leaps directly to the result icon attached to the perpetual. It erases all the text and graphics displayed by any icon between the perpetual and the icon where the perpetual was triggered. That's just the opposite of the way it works when Return branching is in effect. As with Return branching, Authorware doesn't go through the interaction icon to get to the perpetual response. If you've set up the interaction icon to display text or graphics, they won't appear.
	When Authorware exits the result icon attached to the perpetual, it returns to the flowline just below the interaction icon. The Erase Feedback option you've selected for the perpetual determines whether Authorware erases any text or graphics that were displayed. If the Erase Feedback option is Don't Erase, it leaves the text and graphics on the screen; otherwise it erases them. Authorware ignores the Erase Interaction option when it returns to the flowline.


Leaping backward and Try Again branching
?-Leaping backward and Try Again branching

If you select Try Again branching for the perpetual response type symbol, this is what happens when the perpetual is triggered:

	Authorware leaps directly to the result icon attached to the perpetual. It works just like it does when Exit Interaction branching is set: it erases all the text and graphics displayed by any icon between the perpetual and the icon where the perpetual was triggered. As with Return and Exit Interaction branching, Authorware doesn't go through the interaction icon to get to the perpetual. If you've set up the interaction icon to display text or graphics, they won't appear.
	When Authorware exits the result icon attached to the perpetual, the Erase Feedback option you've selected for the perpetual determines whether Authorware erases any text or graphics that were displayed. If the Erase Feedback option is Don't Erase, it leaves the text and graphics on the screen; otherwise it erases them. Authorware follows the interaction flowline back to the interaction icon. If you've set up the interaction icon to display text or graphics, Authorware displays them.
	Authorware returns to the main flowline. If you've set up the interaction icon to display text or graphics, Authorware checks the Erase Interaction option you've selected to determine whether it should erase the text and graphics displayed by the interaction icon.


Leaping backward and Continue branching
?-Leaping backward and Continue branching

If you select Continue branching for the perpetual response type symbol, this is what happens when the perpetual is triggered:

	Authorware leaps directly to the result icon attached to the perpetual. It works just like it does when Exit Interaction branching is set: it erases all the text and graphics displayed by any icon between the perpetual and the icon where the perpetual was triggered. As with the other types of branching, Authorware doesn't go through the interaction icon to get to the perpetual. If you've set up the interaction icon to display text or graphics, they won't appear.
	When Authorware exits the result icon attached to the perpetual, the Erase Feedback option you've selected for the perpetual determines whether Authorware erases any text or graphics that were displayed. If the Erase Feedback option is Don't Erase, it leaves the text and graphics on the screen; otherwise it erases them. Authorware then continues along the interaction flowline to see if the next response type symbol has been triggered.  p If it hasn't, Authorware works the same as when Try Again branching is set. (See ?-Leaping backward and Try Again branching.) p If it has, Authorware follows the path to the result icon. What happens when Authorware leaves the result icon is determined by the Branching and Erase Feedback options you've selected for the response type symbol.
	If the Branching setting is Exit interaction, Authorware exits the result icon and returns to the flowline just below the interaction icon. If the Erase Feedback option is Don't Erase, Authorware doesn't erase any text and graphics displayed by the result icon; otherwise, it erases them. Authorware ignores the Erase Interaction option when it returns to the flowline.
	If Return or Try Again branching is set, Authorware follows the interaction flowline back to the interaction icon. If the Erase Feedback option is Don't Erase, Authorware doesn't erase any text and graphics displayed by the result icon; otherwise it erases them. When Authorware reaches the interaction icon, it displays any text or graphics you've set up the interaction icon to display.
	Authorware then returns to the main flowline. If you've set up the interaction icon to display text or graphics, Authorware checks the Erase Interaction option you've selected to determine whether it should erase the text and graphics displayed by the interaction icon.


Leaping within an interaction to a perpetual

It's possible to leap from inside the result icon attached to a response type symbol to a perpetual response type symbol that's part of the same interaction.

Before Authorware makes such a leap, it checks the Erase Feedback setting you've selected for the response type symbol it's leaping from to determine if it should erase any text or graphics displayed by the result icon attached to the response type symbol. If the Erase Feedback option is Don't Erase, it doesn't erase any text and graphics displayed by the result icon; otherwise it erases them.

Authorware then leaps to the perpetual response type symbol.

When Authorware leaves the result icon attached to the perpetual, it checks the Erase Feedback setting you've selected for the perpetual to determine if it should erase any text or graphics displayed by the result icon. It then checks the Branching option you've selected for the symbol to determine where it should go next.


Leaping forward to a perpetual

A looping structure can create a situation in which Authorware must leap forward to reach a perpetual interaction.

A looping structure is made up of a decision icon that's set to repeat (or "loop") and a sequence of icons you want to repeat. If the structure contains a perpetual interaction that's near the end of the sequence of icons that's repeated, Authorware may have to leap forward to get to it.

When Authorware passes through the perpetual interaction the first time it activates the perpetual, then loops back to the beginning of the sequence. If a user chooses the perpetual interaction at a point in the sequence that precedes the perpetual, Authorware leaps forward to the perpetual.

How Authorware handles automatic erasing during the leap is affected by where Authorware is located when the user triggers the perpetual.


Leaping forward from outside an interaction

If Authorware is anywhere other than in an interaction. Authorware leaps over all the icons between its current location and the perpetual interaction. When it gets to the perpetual, it goes immediately to the result icon attached to the perpetual without going through the interaction icon. (If you've set up the interaction icon to display text or graphics, they won't appear.)

When Authorware exits the result icon, it checks the Erase Feedback setting to determine if it should erase any text or graphics displayed by the result icon attached to the response type symbol. If the Erase Feedback option is Don't Erase, it leaves the text and graphics on the screen; otherwise, it erases them.

Where Authorware goes next is determined by the Branching option you've selected:

•	Return branching takes Authorware back to where it came from.

•	Try Again and Continue branching first take Authorware around to the interaction icon (where it displays any text or graphics you've set up the interaction icon to display) and then takes Authorware back to the flowline.

•	Exit Interaction branching takes Authorware directly to the flowline without going through the interaction icon first.


Leaping forward from within an interaction

If Authorware is in an interaction, it also has to consider the interaction's Erase Feedback and Erase Interaction settings.

If you've selected Don't Erase as the Erase Feedback setting for the response type symbol Authorware is leaping from, Authorware doesn't erase any text and graphics displayed by the result icon; otherwise it erases them.

If you selected Exit Interaction, Try Again, or Continue branching for the perpetual, Authorware also checks the interaction's Erase Interactions setting. If the setting is Don't Erase, Authorware doesn't erase any text or graphics you've set up the interaction to display; otherwise it erases them.

When Authorware gets to the perpetual interaction, it goes immediately to the result icon attached to the perpetual without going through the interaction icon. (If you've set up the interaction icon to display text or graphics, they won't appear.)

What happens when Authorware exits the result icon depends on the Branching option you've selected for the perpetual:

•	If you've selected Return branching, Authorware treats the perpetual as if it were attached directly to the interaction where it was located when the user triggered the perpetual. It interprets the Erase Feedback option you've selected accordingly. (See Response tab.) Authorware then returns to the interaction where it was located when the user triggered the perpetual.

•	If you've selected Try Again or Continue branching, Authorware interprets the Erase Feedback settings this way: if the Erase Feedback option is Don't Erase, it leaves the text and graphics on the screen; otherwise it erases them. Authorware then follows the interaction path around to the interaction icon (where it displays any text or graphics you've set up the interaction icon to display) and then to the flowline.

•	If you've selected Exit Interaction branching, Authorware interprets the Erase Feedback settings as it does for Try Again or Continue branching: if the Erase Feedback option is Don't Erase, it leaves the text and graphics on the screen; otherwise, it erases them. Authorware then goes directly to the flowline without going through the interaction icon first.


Perpetuals and frameworks icons

A perpetual interaction that's part of or attached to a framework icon is turned off automatically when Authorware leaves the framework structure.


Automatic erasing

You can always use an erase icon to erase any text or graphic that appears in the Presentation window. The interaction icon, however, has two sets of options that you can use to have Authorware erase text and graphics displayed in an interaction automatically:

•	The Erase options on the Interaction tab in the Interaction Properties dialog box let you select when you want Authorware to erase text and graphics displayed by the interaction icon. (There's another setting on the same tab that you can use to select a transitional effect when the text and graphics are erased.)

•	The Erase options on the Response tab of each response type's properties dialog box let you select when you want Authorware to erase text and graphics displayed by a result icon.

If you want to prevent automatic erasing from affecting a specific icon (say, an icon inside a map that's attached to a response type symbol), you can use the Prevent Automatic Erasesetting. It's located on the Display tab in both the Interaction Properties dialog box and the Icon Properties dialog box.

Perpetual interactions-interactions that are available in the background when a user is doing something else-have a special set of rules for erasing that Authorware follows. For information about those rules, see Perpetuals and Return branching.


Libraries-overview

A library is a collection of individual icons that have content-display, interaction, calculation, digital movie, and sound icons. Libraries don't preserve logic or relationships between icons on a flowline.

Open libraries appear as windows.

You use the content that's in a library by dragging an icon from the library to the flowline. Authorware displays a duplicate of the library icon on the flowline and sets up a link between the duplicate and the original.

Authorware doesn't actually make a copy of the library icon or its content, it just displays a duplicate image of the icon (the title of the duplicate icon appears in italics to let you know it's linked to an original); the content remains in the library. But because of the link with the original, the duplicate icon on the flowline can display the content that's in the library without actually containing a copy of the content.

Making icons available from libraries lets you reuse the same icon in many places. This way, you can:

•	Save space. You don't need to duplicate the icon's contents to reuse it. The link to the icon is the only added information.

•	Update several pieces efficiently. Updating an icon in a library automatically updates the icon in every piece that uses the icon. This saves time when you edit an icon.

•	Provide ready-made sets of content for a variety of pieces.

•	Use one piece in different ways by changing its libraries.


Libraries-overview

Authorware attaches a library to a piece when the piece contains an icon that's linked to an icon in the library. When you open the piece, Authorware automatically opens all attached libraries. After the piece is open, you can open more libraries to make them available.

The names of open libraries appear in the Window > Libraries submenu; a link symbol appears next to libraries that have linked icons. Choosing a name from the Libraries submenu opens the library if it's not already open and brings the window to the front.


Library icon properties

Libraries-overview

Some characteristics of an icon in a library can only be changed in the library icon, but other characteristics can be changed in the individual icon. The following table shows what you can edit in library icons and icons linked to a library.

Icon type	Edited in library icons only	Edited in icons linked to a library
Display	Content	Object's position on screen
	Displayed variables	Attached calculations Icon properties Keywords
Interaction	Content, including display objects	Object's position on screen
	Displayed variables	Interaction options settings
		Attached calculations
Digital movie	The digital movie	Options settings
	The digital movie's mode	Attached calculations
Sound	The sound	Sound options settings
		Attached calculations
Calculation	Displayed variables	Option or condition text entry fields
		Calculations attached to other icons


Link names

Libraries-overview

Authorware assigns a name to the link between a library icon and all the icons that it's linked to in a piece. The name that Authorware has assigned to the link appears in the Link Name column of the library window. You can see the Link Name column by clicking the zoom box in the upper right corner of the library window.

It's useful to change a library icon's link name when you want to modify the contents of icons linked to a library in more than one Authorware file, not just the open one. For example, suppose that you want to modify the contents of a library icon that is connected to many pieces while maintaining the original contents for occasional use. First, change the link name of the old library icon. Then assign the previously used link name to the new icon.

Note: Changing a link's name breaks the link.

Related Topics:	Identifying links to library icons

Fixing broken links


Broken links-overview

Libraries-overview

The following circumstances can break a link to a library:

•	Authorware can't locate the library file an icon is linked to. When you open a file for which Authorware can't find an attached library, Authorware prompts you to locate the library.

•	You delete the library icon an icon is linked to.

•	You change the link name of the library icon that the icon is linked to.

Generally, you don't want to edit link names. If you choose to do so, Authorware asks you whether you want to reattach icons that were connected to that library icon. When you reattach icons, the link names are updated in the Get Info window for each of those icons.

When Authorware can't locate a library attached to the piece, a dialog box appears asking you to find the library. Any icons linked to a library that can't be found are marked as broken. The link is also broken when the corresponding library icon is missing from the library.

A broken link symbol appears on the flowline next to each icon that has a broken link.

Authorware won't open icons that have broken links; you must relink them.


Directing the flow-Overview

There are two ways to control how Authorware gets from one place to another in a piece.

One approach-navigation-is to set up controls that allow a user to choose a path through the piece. The easiest type of navigation structure to create is a paging structure.

The other approach-branching-is to set up Authorware go to the appropriate place automatically.


Navigation

Navigation structures provide a user with a way of choosing a path through an Authorware piece. Most navigation in Authorware is handled with navigate and framework icons. The two icons work hand in hand.

Types of navigation

The navigate icon

The framework icon

Pages

One-way trips and round trips

Planning a navigation structure


Types of navigation

There are two types of navigation in Authorware:

•	Going from one place to another within a single Authorware file. That's handled with the navigateand the frameworkicons. See Setting up a paging structure and Setting up a navigation framework.

•	Going from one Authorware file to another. That's handled with the JumpFile and JumpFileReturn functions. See Setting up a router.


The navigate icon

 The navigate icon takes Authorware from one place on the flowline to another place that's inside a frameworkicon. (A navigate icon can be on the flowline outside of a framework, but the destination it directs Authorware to must be inside a framework.)

The navigate icon is much more sophisticated and flexible than Authorware's GoTo function. You can use the navigate icon to do the following:

•	Go to any specific icon inside a framework

•	Go to an icon just by identifying its location relative to the current icon (for example, the next icon or the previous one)

•	Return to the last icon a user looked at

•	Display a list of all the icons a user looked at recently

•	Display a dialog box that a user can use to search for an icon and then go to it

You can place a navigate icon anywhere on the flowline or use it anywhere you'd use any other icon: inside a map icon, attached to a decision or interaction icon, or inside a framework.

A navigate icon's destination must be a page inside a framework. You can't select an icon on the main flowline as the destination. Its destination can be a page in a different framework, but not in a framework that's in a different file. If you nest one framework inside another, you can select a page attached to the nested framework as the destination of a navigate icon. But if you attach a map icon to a framework, you can't select a specific icon inside the map as the destination.


The framework icon

The framework icon sets up an environment designed to make creating navigation easy. The environment has three components: the framework window, a set of default navigation controls, and the icons attached to the framework icon. (Any icon attached directly to a framework icon is called a pageID.)

The framework environment works like this: When Authorware enters the framework, it first goes to the flowline in the framework window's entry pane.

What's unique about the entry pane is that the icons there affect every page that's attached to the framework icon. For example, if you set up a display icon in the entry pane to display a background, the background appears on every page. Authorware adds the default navigation controls to the entry pane automatically, and they appear on every page as well.

One of the most important things to remember about the entry pane is that Authorware goes to the flowline inside the entry pane whenever it enters the framework-no matter where it's headed. For example, if Authorware is coming from somewhere outside the framework directly to the third icon attached to the framework icon, it still goes to the flowline inside the entry pane before it proceeds to the third icon. That's Authorware's way of ensuring that the navigation controls and anything else you've set up in the entry pane appear on each page attached to the framework icon no matter what order it displays the pages in.

The default navigation controls give a user these options:

Before Authorware exits the framework, it does two things. First, it returns to the framework window and goes to the flowline in the exit pane. Anything you set up there happens each time Authorware leaves the framework. For example, if you want to change the value of a variable each time a user exits the framework, you'd set up a calculation icon in the exit pane to take care of it. The second thing that Authorware does when it exits a framework is to erase everything-text, graphics, movies, and sounds-still remaining in the entry pane or any page in the framework. In short, it returns everything to the way it was when it entered the framework.


Pages

Any icon attached directly to a frameworkicon is called a page. A page can be a a screen of text, a digital movie icon, a sound icon, or even a map icon containing a complex sequence of icons. You can, in fact, use any icon or combination of icons as a page, as long as you first put framework icons, decision icons, interaction icons, and icon sequences inside a map icon.

Here are some examples of ways to use pages:

•	Create an annotated version of Chopin's waltzes. Set up each page to contain a recording of one of the waltzes accompanied by a commentary on the music.

•	Show how editing changes a film. Set up the first page to show an unedited scene, the second to show the scene after it's been cut, the third to show the scene with special effects, the fourth with sound effects, the fifth with music, and so on.

•	Create a form with fields. Set up a text-entry interaction for each of the fields as a separate page. Instead of using the default navigation controls, create custom controls that use the Tab key to move from the current page to the next one and Shift-Tab to move from the current page to the previous one.


One-way trips and round trips

Authorware's navigation options give you two ways to travel. You can take users either on a one-way trip, known as a jump, or on a round trip, known as a call.

A jump is a simple, straightforward trip from Authorware's current location to its destination. A call, on the other hand, keeps track of Authorware's current location so that after it arrives at its destination it can return to the spot it came from.

When you jump from one framework to another, Authorware exits the first framework before it enters the second; it goes to the flowline in the first framework's exit pane and then erases everything displayed in the first framework. However, when you call a page in one framework from a different framework, Authorware doesn't exit the first framework; it leaves everything on the screen just as it is, goes to the appropriate page in the second framework, and layers whatever is there on top of what's already on the screen.


Planning a navigation structure

Putting together a navigation structure in Authorware isn't difficult, and the job is even easier if you plan the structure in advance. The following information covers the basic things you should give some thought to before you start.

•	Decide what navigation controls you need.

For information about the default navigation controls that appear in the Presentation window automatically whenever you set up a framework icon, see About the navigation controls.

If the default navigation controls don't provide you with the kind of controls you want, see Navigate icon for information about the navigation options that are available.

For information about making changes to the default navigation controls, see Changing a default navigation control.

For information about replacing the default navigation controls, see Replacing the default navigation controls with a model.

•	Decide if there are any text or graphic elements that are common to everything inside the navigation framework. If that's the case, you can set those elements up in the entry pane of the framework icon.

•	Decide if there's anything you want Authorware to do every time users enter the navigation framework. For example, you may want to set certain variables when users enter the navigation framework. Set up the necessary icons in the entry pane of the framework icon.

•	Decide if there's anything you want Authorware to do every time users exit the navigation framework. For example, when users exit the navigation framework, you may want to reset the variables you set when they entered the framework. Set up the necessary icons in the entry pane of the framework icon.


Paging structures

The easiest type of navigation structure to create is a paging structure. In the simplest paging structures, each page attached to a framework icon is a display icon that contains text and graphics.

The quickest way to create a simple paging structure is to drag a framework icon to the flowline, attach display icons to it, and then run the piece. Authorware automatically stops at each empty display icon and lets you add the text and graphics you want to appear on each page.


Wrap-around paging

The navigate icon's Next option is set up so that if a user clicks the Next button when the last page in the paging structure is on the screen, Authorware wraps around to the first page in the structure. Similarly, if the user clicks the Previous button when the first page in the paging structure is on the screen, Authorware wraps around to the last page in the structure.


Default navigation controls model

Both the default navigation controls and the framework icon the controls are part of are contained in a model that's installed in the folder where Authorware is located. The model is called framewrk.a4d in Windows and Default Framework Icon on the Macintosh. Whenever you drag a framework icon from the icon palette to the flowline, Authorware replaces it with the model. That's why the default navigation controls are inside the framework's entry pane when you open it.

If you want to make a different set of navigation controls the default, all you need to do is to replace the model that Authorware is currently using with a model that contains the new navigation controls. (Remember, however, that unlike a model you create for custom controls that you use only occasionally, this model needs to contain both the custom controls and the framework icon that they're part of.) Once you've replaced the current model with the new one, whenever you drag a framework icon to the flowline, you'll find the custom controls inside its entry pane.

Because the model contains not just the navigation controls but the framework icon, you can include other things in the entry pane besides just the navigation controls. For example, if you have a template you always use to help you lay out the screen, you can include that in the model and it will appear on every page you attach to the framework icon.


Navigation links

To create a navigation link in Authorware, you use a navigate icon.

The navigate icon and the framework icon work hand in hand. The navigate icon takes Authorware from a place on the flowline to a page attached to a framework icon.

A navigate icon can be anywhere on the flowline, inside or outside of a framework, but the destination it directs Authorware to must be a page inside a framework. If the navigate icon is inside a framework, the page that the navigate icon is directing the flow to doesn't have to be inside the same framework. For example, a navigate icon in one paging structure might direct the flow to a page in a help system that's part of a different paging structure.

You can set up a navigate icon to do the following:

•	Go to the next, previous, first, or last page in the current navigation framework

•	Go back to the page a user last visited or display a list of the pages the user has visited most recently

•	Leave the current framework

•	Go to a specific page

•	Go to a page that's identified by an expression you've created

•	Display a list of pages related to a specific topic

•	Display a dialog box that a user can use to search for a page and then go to it


About hypertext

When you attach a navigation link to hot text-text that users can click like a button-you're creating what's known as a hypertext link.

Computers have made it possible to automate the links between related chunks of information. The result is hypertext-text in electronic form with built-in links between information that's related. Readers of hypertext documents don't need to track down the section heading that contains the cross-reference they're looking for; they need only click the text that's linked to a related passage, and the passage appears on the screen.

Authorware has a uniquely easy method for creating hypertext links. You first create a text style with interactivity built into it. You then apply the style to any text you want to turn into a hypertext link and select the destination Authorware goes to when a user clicks the text.


Specific versus relative destinations

The simplest and most straightforward type of navigation link you can set up is a link connected with one and only one page. Unlike the Next and Previous links, whose destinations are relative and change each time Authorware moves to a different page, the destination of a navigate icon linked to a specific page never varies.


The mechanics of a round trip

You can set up ten different types of links with the navigate icon. All ten links allow you to set up a jump (a one-way trip from a navigate icon to a page). The following three let you set up a call (a round trip from a navigate icon to a page and back):

•	Anywhere, the link to a specific page

•	Calculate, the link to a page that's identified by an expression you've created

•	Search, the link that allows users to search for the page where they want to go

There's one restriction on using a call that doesn't apply to a jump. You can jump between pages within the same framework, but you can't call a page from a navigate icon that's within the same framework as the page you're calling. You can call a page only from a different framework or from a navigate icon on the flowline outside a framework.

Unlike a jump, a call requires two navigate icons: one to take Authorware to the destination and another at the destination to take Authorware back where it came from. (Either navigate icon can also be replaced with a hot-text hypertext link.)

The navigate icon where the call starts (and to which it eventually returns) can be either inside a framework or on the flowline outside. However, the destination of the outbound leg of the round trip must be a page attached to a framework icon.

At the destination, the navigate icon that sends Authorware on its return trip must be set to Exit Framework/Return.

When Authorware returns, it doesn't go back to the exact place it came from. If it did, it would return to the navigate icon where it started its journey and start the trip all over again. Instead it goes to the point on the flowline immediately following the place it departed from. If you attach a map icon to a framework and then set up a navigate icon inside it to call another page, when Authorware returns to the map, it returns not to the beginning of the map, but to the place in the map where it left from.


Nesting calls

When you set up a call, you don't have to return immediately. For example, you can call one page, and from the first page call a second, and from the second page call a third. That's known as nesting calls.

When you nest calls, it's important to remember that the navigate icon that returns Authorware to the place it came from isn't linked to a specific icon. It just tells Authorware to return and assumes that Authorware knows where it came from. Authorware keeps track of where it came from by keeping a list. Every time it encounters a navigate icon where the Call And Return option is set, it records its current location on the list and then goes to the navigate icon's destination. When it encounters a navigate icon set to Exit Framework/Return, it goes to the location that's recorded at the bottom of the list and then deletes that information from the list.

Consequently, it's important not to confuse Authorware by trying to use a navigate icon linked to a specific destination to send it back to where it came from. That's like buying Authorware a one-way ticket when it already has a return ticket in its pocket. The next time it encounters a navigate icon set to Exit Framework/Return, it will use the return ticket and end up some place you don't expect.


Variables, expressions, and navigation

You'll often find it convenient to use a variable or expression to define the destination of a navigation link rather than selecting a specific icon as the link's destination.

Suppose, for example, that you've created a piece on first aid that includes a glossary of terms. The word angina might appear in a dozen different places in the text. One way to set up the links between the text and the glossary is to set up a separate hypertext link that connects each instance of the word angina with the definition of angina in the glossary. You'd have to repeat the same process for every word in the text that appears in the glossary.

A more efficient way to approach the task is first to assign the keyword angina to the page that contains the definition of angina and then to use an expression to search for the keyword and find the page you've assigned it to. This approach is especially efficient because you need to set up the expression only once. You can actually make the expression part of the definition of the hot-text style you apply to glossary terms, and you can use the same expression to find any word in the glossary.

The approach works like this: When you define the hot-text style for glossary terms, select Navigate To as one of the Interactivity settings. The Navigate To option lets you set up one navigation link that Authorware uses automatically for all the text you apply the style to. In the Navigate Icon Properties dialog box, select Calculate as the type of navigation link and enter an expression that uses the FindText function to search for the keywords that match the term in the HotTextClicked variable.

The system variable HotTextClicked contains the hot text the user has clicked most recently. Glossary ID is a custom variable that contains the icon ID of the glossary framework icon. It tells Authorware to limit the search to the glossary framework. The third argument, 1, tells Authorware to search only for keywords. The sixth argument, TRUE, tells Authorware to identify the page it has found by the icon ID of the page, not by the page title. (For a description of the other arguments, see FindText.)

Next, apply the hot text style to every word in the text that you want to connect with a definition in the glossary. (FindText searches only for words, so don't apply the style to phrases.) Then assign each term in the glossary as a keyword to the page it's on. Make sure you assign each keyword to only one page.

Once you have the navigation set up, this is what happens when a user clicks a glossary term: Authorware puts the term the user has clicked in the system variable HotTextClicked. The FindText function searches the glossary framework for the keyword that matches the term. When it finds the term, it provides Authorware with the icon ID of the page that the term is assigned to. Authorware then uses the icon ID to go to the page.

The most important thing to remember when you're using a variable or expression to define the destination of a navigation link is that the variable or expression must provide Authorware with the icon ID of the destination page, not the title of the page.

The variable or expression can also provide Authorware with the ID of an icon that's inside a map attached to a framework icon. In that case, Authorware goes to the beginning of the flowline in the map, not directly to the icon that the variable or expression points to.


The Search navigation link

The Search navigation link lets users search for a word and then go to one of the pages where the word appears. For an example of how the Search navigation link works, click the Find button on Authorware's default navigation controls panel.

When a user clicks the Find button, the Find dialog box appears:

You can set up the Find dialog box to search either an entire file or just the current framework. You can also search not only for the text in text objects that are inside display and interaction icons, but also for the keywords you've assigned to icons. You can also limit the search to either text or to keywords alone. Searching for keywords makes it possible for users to locate icons that don't display text, such as digital movie or sound icons. (For information about using keywords, see Assigning a keyword to a page.)

You can preset the text that appears in the Word field of the Find dialog box. Suppose, for example, that you want to allow a user to click any word on a page and then search for the word. You first go to the framework's entry pane and set up a hot spot attached to a navigate icon.

Setting up the hot spot in the entry pane makes it active on every page in the framework.

You then resize the hot spot to cover the entire page. In the Navigate Icon Properties dialog box, you preset the text in the Word field to the contents of the system variable WordClicked. You also select the Search Immediately option, which starts the search without waiting for the user to click the Find button in the dialog box.

When a user clicks a word on the screen the hot spot is triggered, and Authorware simultaneously puts the word the user clicked in the variable WordClicked. Authorware follows the path from the hot-spot symbol to the navigate icon, displays the Find dialog box, inserts the word in WordClicked in the Word field, and immediately starts the search. Authorware lists each page where it finds a match.

If you select the Show In Context option in the Navigate Icon Properties dialog box, Authorware also lists part of the line where the word appears.

The user can then select a page from the list and click the Go To Page button to go there.


Keywords and multimedia

Text provides an easy way to identify the page that contains the information you're looking for. But in a multimedia piece, information is available in forms other than text-digitized sounds and music, voice-overs, animations, digital movies, and video recordings, to name just a few. You can assign a keyword to any icon and make it as easy to find as a display icon full of text.


Backtracking

There are many instances in which it's important to give users an easy way to get back to places they've been before. The Recent navigation link makes two sorts of backtracking possible:

•	Go Back takes a user back to the last page Authorware displayed. It has nothing to do with physical proximity-that's handled by the Previous and Next navigation links. (Previous goes to the page to the right, Next to the page to the left.) Go Back goes to the page the user last visited, regardless of where it is.

•	List Recent Pages displays a list of the pages where Authorware has been most recently.

The most recent page is at the top of the list. The user can select any page from the list and return to it. Authorware displays the icon title of each page, so it's a good idea to give icons clear, descriptive names.

It's important not to confuse backtracking with a call (see One-way trips and round trips). A call is an automatic round trip: Authorware goes to a destination, and when it's finished there, it snaps back to its point of departure as if it were at the end of a tightly stretched rubber band. Backtracking isn't automatic. It allows users to choose to return to places they've already been.


Nested navigation frameworks

Although any icon attached directly to a framework icon is called a page, a page doesn't have to be just a screen full of text. It can be a digital movie icon, a sound icon, or even a map icon containing another framework.

Nesting one framework inside another is a good way of structuring material and providing users with quick access to the information they're interested in.

For example, imagine an electronic version of a user's guide. One way to set it up is to use a single framework icon with a display icon attached for every page in the book. A more appropriate way to organize the piece is to create a framework in which each page is a map icon containing an entire chapter and then to nest inside each map icon another framework in which each page is a page of text. Organizing the piece in that way allows users to jump directly from the beginning of one chapter to the beginning of the next rather than having to page through all of one chapter to get to the next.

The first element of the piece is the Contents screen, which is structured like this:

Each item on the Contents screen is linked by a navigate icon to a chapter in the Chapters framework.

Notice that in the Chapters framework, each chapter is a page. The Next Page navigation link takes a user to the beginning of the next chapter, the Previous Page link to the beginning of the previous chapter, and so on.

Inside the map icon for each chapter is another framework icon. Attached to it are the pages that contain the text of each of the procedures in the chapter.

Remember than when Authorware enters a framework, it goes first to the flowline in the framework window's entry pane and follows the sequence of icons there (see Navigation). If a user selects Navigation & Branching from the Contents screen, Authorware follows this path: it jumps from the navigate icon attached to the Navigation & Branching button to the flowline in the entry pane of the Chapters framework window. There it finds two navigation controls that allow users to go to the previous and next chapters. Authorware displays the navigation controls and then jumps from there to the Navigation & Branching map.

In the Navigation & Branching map Authorware encounters the Navigation Procedures framework icon and goes to the entry pane in the framework window. There it finds the default navigation controls. It displays them and then goes to the first page attached to the framework icon, which contains the text of the overview.

The screen containing the overview looks like this:

You'll notice that when you nest frameworks, Authorware doesn't exit one framework to go to the framework inside it. Consequently, anything Authorware displays as it follows the flowline in the first framework's entry pane remains in effect while it's inside the nested framework.

Nested frameworks affect the various types of navigation links differently. The Previous Page, Next Page, First Page, Last Page, and Recent links are purely local and work only within the local framework. For example, if Authorware is inside a nested framework and a user clicks the First Page button, Authorware goes to the first page of the local framework, not the first page of the framework that the local framework is nested inside.

When you set up the Search navigation link to search only the current framework, it searches not only the local framework but also any frameworks nested inside it. However, if the Search navigation link is located in a framework that's nested inside another framework, it doesn't search the framework that the local framework is nested inside.

The Anywhere and Calculated navigation links are affected by nested frameworks only in this way: If the link takes Authorware from a nested framework to the framework it's nested inside, Authorware first goes to the nested framework's exit pane and follows the flowline there. It then exits a framework, erasing everything-text, graphics, movies, and sounds-still remaining from the entry pane or any page in the nested framework.

It's possible for Authorware to jump from a navigate icon outside a framework to a page attached to a framework nested inside one or more other frameworks. When that happens, Authorware follows the flowline in the entry pane of each framework icon before it goes to its destination page. Likewise, if Authorware is jumping from a page in a nested framework to a page in a framework somewhere else in the piece, it follows the flowline in the exit pane of each framework that's part of the nested structure before it goes to its destination page.

As the following procedure shows, setting up a nested framework is easy. The most important thing to keep in mind is how Authorware behaves as it navigates into and out of one framework that's nested inside another.


Routers

You'll often find that a project you're working on is big enough that you need to create several Authorware files to encompass the whole thing. For example, if you're creating a digital magazine, you'll probably want to make each article a separate file.

When you've broken a project up into a number of files, you need to create an additional piece that connects all the other parts together. That piece is called a router.

A router often takes the shape of a menu. Each item on the menu is a button that uses one of two system functions-JumpFile or JumpFileReturn-to launch the module a user has selected. JumpFileReturn allows the user to return to the router, JumpFile doesn't.


Branching

Navigation structures let users select the path they want to take through a piece. Branching structures select a path for Authorware to follow automatically.

Suppose, for example, that you're creating a training course for customer service representatives. Some of the people taking the course are current employees brushing up on department policies, some are new employees unfamiliar with the system, and some are seasonal workers who may have learned the system last year but haven't used it since then. Because the backgrounds of the people taking the course are so varied, you decide to create a pretest to determine where each user should start.

At the beginning of the course, Authorware presents each user with the pretest and then encounters a decision structure on the flowline.

The decision structure tells Authorware which path to follow based on the user's score. That's the essence of a decision structure: The path Authorware follows is neither predetermined or decided by the user. Instead, the path is determined automatically by Authorware when it reaches the decision structure.


Sequential branching

Sequential branching works like this: Each time Authorware passes through a decision structure it takes a different path, starting with the one on the left. The second time it passes through the structure, it takes the second path, the third time, the third path, and so on.

The introduction to this section described how you can use a decision icon to evaluate a pretest and take the path to the part of a course where it's appropriate for a user to start. You can also use a decision icon to present a pretest.

You set up the decision structure so that each path presents one of 10 questions in the quiz.

You attach a calculation to the decision icon and, to keep track of the number of questions a user has answered, enter this expression in the calculation window:

counter := counter+1

The expression adds 1 to the custom variable counter each time Authorware passes through the decision structure.

In the Decision Options dialog box, you select Until True as the Repeat option and enter this expression:

PercentWrong=30 | counter=10

The first expression, PercentWrong=30, tells Authorware to continue repeating the decision structure until the user has answered more than 30 percent of the questions wrong. The second expression, counter=10, tells Authorware to continue repeating the decision structure until the user has answered all of the questions. The "or"(|) bar between the two tells Authorware to repeat the decision structure until either expression is true.

Because you've set the decision icon to branch sequentially, each time Authorware passes through the decision structure it moves one path to the right. If you don't include an expression to tell Authorware when to stop repeating the decision structure, it reaches the last path it returns to the left-most path and starts over again.

The Reset Path On Entry option affects what Authorware does if it leaves the decision structure and then returns to it later. If Reset Path On Entry is selected, Authorware starts over again with the first path. If it isn't selected, Authorware remembers which path it followed the last time it passed through the decision structure and moves one path to the right.


Random branching

There are two ways to set up random branching in a decision structure. You can have Authorware select any path at random regardless of whether it's selected the path before, or you can have Authorware select randomly only from the paths it hasn't yet taken.

For example, you could set up the pretest described in the previous procedure so that Authorware selects randomly from the questions it hasn't yet presented a user. Everything else about the decision structure would be the same except that you'd select Randomly To Unused Path rather than Sequentially as the Branch option.

Randomly To Unused Path also comes in handy if you need to test a student a second time on the same material. You'd set up each question so that it has two or more versions, depending on the number of times a student is allowed to take the test over.

If you leave Reset Path On Entry deselected, Authorware remembers which version of the question it has already presented. The next time it passes through the decision structure, it presents a different version.


Branching based on a variable or expression

You can use the value of a variable or expression to determine which path in a decision structure Authorware follows.

Authorware numbers the icons attached to a decision icon from left to right, starting with 1.

If a variable's value is 1, Authorware branches to the first icon; if the variable equals 2, it branches to the second icon. If the value of a variable isn't a whole number, Authorware ignores the decimal part of a value; it considers 0.75 equal to 0 and 4.25 equal to 4. Notice that Authorware doesn't round the value to the nearest whole number-it simply drops the decimal part of the value. If a value is less than 1 or larger than the number of icons attached to the decision icon, Authorware bypasses all the attached icons and moves to the icon that follows the decision icon on the flowline, regardless of which Repeat option you've selected.

If you want something to happen only when a certain condition is true, use a logical variable or a conditional expression. If the variable or expression is true, Authorware treats it as if it's equal to 1 and branches to the first icon attached to the decision icon. If the variable or expression is false, Authorware treats it as if it's equal to 0, bypasses the icon attached to the decision icon, and moves to the icon following the decision icon on the flowline.


Branching based on a calculation

Suppose, for example, that you're creating a training course for customer service representatives. Some of the people taking the course are current employees brushing up on department policies, some are new employees unfamiliar with the system, and some are seasonal workers who may have learned the system last year but haven't used it since then. Because the backgrounds of the people taking the course are so varied, you decide to create a pretest to determine where each user should start.

At the beginning of the course, Authorware presents each user with the pretest and then encounters a decision structure on the flowline. The decision structure looks like this:

To evaluate the results of the pretest, you'd set up the Decision Icon Properties dialog box like this:

The calculation in the dialog box divides those who take the pretest into three groups. As shown in the following table, the lowest third take the first path, the middle third take the second path, and the highest third take the third path.

Percent Correct	(PercentCorrect/34)+1	Path
25	1.74	1
33	1.97	1
34	2	2
50	2.47	2
67	2.97	2
68	2	3
100	2.94	3


Branching based on a conditional expression

You can use a conditional expression when you want something to happen only if a condition is true. Suppose you have text interactions in a piece that are case-sensitive and you want to make sure at the beginning of the application that the Caps Lock key isn't down. You can use the system variable CapsLock to find out. CapsLock is true if the key is down, false if it's up.

You'd set up a decision structure to display a message to the user if the Caps Lock key is down. The decision structure has only one path.

If CapsLock is true, Authorware branches to the display icon attached to the decision icon; if CapsLock is false, Authorware bypasses the decision structure entirely.

To have Authorware check the value of CapsLock, you insert the variable into the To Calculated Path field.


Subroutines

If you find yourself using the same sequence of icons over and over again in the same piece, consider setting them up as a subroutine. A subroutine is any single sequence of icons you've set up so that Authorware can use it in many different places. Online help systems and glossaries are examples of large subroutines. The essential characteristic of a subroutine is that Authorware can go to it and then return to the exact spot it came from.

For example, suppose you want to use the same three sounds over and over in a piece. You could set up a separate sound icon for each sound each time you wanted to use it. A more efficient approach is to attach the sounds to a framework icon at the end of the piece, like this:

Each page in the framework is a map icon that contains one of the sounds and a navigate icon that's set to exit the framework. Wherever you want to use one of the sounds, you'd set up a navigation link-a navigate icon or hot text with the Call and Return option set-to go to the page in the framework that contains the appropriate sound icon.

The subroutine works like this: when Authorware encounters one of the navigation links you've set up, it goes to the subroutine, plays the sound, and then continues down the flowline to the navigate icon. The navigate icon directs the flow to exit the framework. Because you set the Call and Return option for the navigation link that directed Authorware to the sound, Authorware exits the framework and automatically returns to where it came from.

The basics for creating a subroutine are simple. The subroutine must be attached to a framework icon. The navigation link that exits the subroutine must be set to Exit Framework/Return. The navigation link that directs Authorware to the subroutine must have the Call And Return option selected.


Local and Wide Area Networks (LAN and WAN)

Advantages to using the network

Disadvantages to using the network

LAN or WAN servers

Where to place files on a network

Multiple users


Advantages to using the network

Local and Wide Area Networks (LAN and WAN)

When your users' computers are connected to the same LAN or WAN, using it has several advantages:

•	It's a convenient way to distribute files to a group of users.

•	It lets users save disk space on their local computers because many of the external files such as libraries remain on a server.

•	It helps you track the actions and responses of a group of people as the piece runs.

For example, say you create a set of materials that people in an organization use occasionally, such as a set of employee policies. If every employee kept a copy of the policies on his or her computer, it would consume a large amount of disk space for material that isn't necessarily used daily. Also, each time you revise the policies, you would need to distribute the revisions and employees would need to install them.

By putting the files on the LAN or WAN, you can easily revise them and users can run them at their convenience.


Disadvantages to using the network

Local and Wide Area Networks (LAN and WAN)

The most important disadvantage to using the LAN or WAN is reduced performance.

Reading and writing data over a LAN or WAN is typically slower than on a local computer. How much slower depends on the specific LAN or WAN configuration and the amount of activity on the LAN or WAN at a given time.

Security issues can also pose problems for servers that store sensitive data.


LAN or WAN servers

Local and Wide Area Networks (LAN and WAN)

A server acts like a hard drive that you connect to over a network. The server can be of a different platform than the piece, as long as the local computer can mount it. For example, a Windows computer can obtain files from a UNIX or Macintosh server as long as the Windows computer can mount that server.


Where to place files on a network

Local and Wide Area Networks (LAN and WAN)

For best results, some types of files in a piece should be kept on the server and others should be placed on the local computer.

•	Packaged pieces that include RUNA4W (Windows) or RUNA4M (Macintosh) should be placed on the local computer.

•	Packaged pieces that don't include RUNA4W or RUNA4M should be placed on the server. However, you should still place the RUNA4W or RUNA4M file on the local computer.

•	Libraries should remain on the server to save space on the local computer.

•	Digital movies require your judgment about whether they should be on the server or on local computers. Because the files are large, placing them on the server saves a large amount of disk space on the local computer. However, playing over a LAN or WAN usually has a noticeable effect on performance. Base your decision on the available disk space on a typical local computer versus whether the files give acceptable performance over the LAN or WAN.

•	User records should be placed on the server.


Multiple users

Local and Wide Area Networks (LAN and WAN)

More than one user can run a single copy of a packaged Authorware piece from a server. However, each user must have a copy of RUNA4W (Windows) or RunA4M (Macintosh) available. Also, when the piece is set up to create user records, each user should have his or her own record.

Logon, one of the pieces in Show Me, shows how to create and save an independent record for each user. When a user "logs on", a unique user record is kept in its own folder within the main records folder; the folder's name is the name that the user supplies.

To delete a user, remove the user's folder from the records folder.

When you want users to choose from a set of pieces, it's a good idea to provide a router that helps users select the piece they want.


Tracking and recording performance-overview

Authorware has a wide variety of quick and easy ways to judge, track, and record a student's performance.

•	Judging means determining whether students have responded correctly or incorrectly.

•	Tracking means collecting and storing information about how many times students have responded right or wrong, how many times they've tried to get the right answer, how long they spent trying, how much of the course they completed, and so on.

•	Recording means saving the information that Authorware has collected in a file so you can make use of it whenever you need it.

You can use the information Authorware collects in many ways. You can use information about whether students have answered a question correctly not just to score their performance, but also to provide them with appropriate feedback. You can display for students not just a score, but an evaluation of their performance: how many questions they responded to, how many they skipped, how many they got right on the first try, how many they had to guess at more than once before they responded correctly. You can also save performance information with each student's records so that you can see how the student's performance is changing over time.

One of the best ways to use performance information is to help you improve and refine a training course. For example, if almost every student takes several tries to answer a particular question right or if many students spend lots of time in a single interaction, you may want to rephrase the question or redesign the interaction.


Judging interactions-overview

Tracking and recording performance-overview

An interaction that contains a target response you've marked right or wrong is called a judged interaction.

When you mark a target response in an interaction as either right or wrong, all you're actually doing is telling Authorware to keep track of how many correct target responses and how many wrong target responses a user matches in a single session. Authorware automatically stores that information in a special set of system variables.

Variables used for scoring and recording

It's important to remember that marking a target response right or wrong has no direct, immediate effect other than making it possible for Authorware to track a student's performance. You still need to create appropriate feedback for the target response and select the exit branching option that you want to use.

You mark a target response right or wrong with the Status option in a Response Properties dialog box.

A target response can be correct, wrong, or not judged. When you choose either Correct Response or Wrong Response, a symbol appears next to the result icon's title to indicate the choice you've made. A plus sign (+) indicates a correct answer; a minus sign (-) indicates a wrong answer.

You can mark more than one target response in an interaction correct. For example, if you set up an interaction in which students drag the right animals into an environment to create a balanced ecosystem, there might be half a dozen correct answers.


Recording performance-overview

Tracking and recording performance-overview

Authorware tracks many aspects of a student's performance automatically, but it doesn't permanently store the information it collects. If you want to keep that information so you can use it in the future, you have to save the information in an external file-a data file saved on a disk.

The same thing is true of information a student enters: Authorware keeps track of it automatically, but if you want to save it permanently, you need to instruct Authorware to save it to an external file.


Saving user information-overview

Recording performance-overview

If you want to permanently save information that users have entered, you need to transfer the information from the variable where Authorware has stored it to an external file. To save information in an external file, you use Authorware's WriteExtFile function.

Authorware saves information in an external file in text (ASCII) format, so you can open the file with a word processor. You can also have Authorware use a word processing application to print an external file using the JumpPrintReturn function.

It's best to save files in either the folder where the piece is located or in the records folder. The path to the folder where the piece is located is contained in the variable FileLocation. The path to the records folder is contained in the variable RecordsLocation.


Retrieving information-overview

Recording performance-overview

To retrieve information you've saved in an external file, you use Authorware's ReadExtFile function.

You'd start by extracting each item of information from the external file and storing it in a variable.

Before you start, make sure you know whether the items of information in the file you're reading are separated with returns, spaces, commas, or tabs. If you don't know, open the file with a word processor that can read files in text (ASCII) format to see.

To retrieve information from a file and display it on the screen, first set up a variable-a "holding" variable-where you transfer all the information that's in the file and then read the information from the file into the holding variable. Next, set up a variable for each item of information you want to extract from the holding variable. Extract an item of information from the holding variable and then store the information in the variable you set up for it. Finally, add the names of the variables containing the information you've extracted to a text object.


Importing sounds-overview

Sound can be a valuable component of a piece. It can provide information as a narration, enhance the mood of a scene, or provide a transition between scenes. Sometimes-for example in a piece about a composer or a simulated juke box-sound is the focus of the entire piece.

Sound is contained in a sound icon. The sound icon's position on the flowline establishes when the sound plays; the Sound Icon Properties dialog box lets you specify which sound to play and the way it plays.


Digital movies-overview

Digital movies are more than animation and synchronized sound. By adding the ability to select and play specific frames and conserve space through compression, you can:

•	Include digital movies created outside of Authorware

•	Simulate equipment and processes, such as a sprouting seed, readings on a gauge, or varying degrees of rotation for an object

•	Compress graphics or sound used in a piece

Authorware gives you added options and possibilities by playing digital movies in response to the conditions you choose. You can play the digital movies when cued by the flowline, when a variable reaches some value, or when the user takes a specific action. By using integers or variables to specify frames, you can play a selected sequence of frames.

For examples of different ways you can use digital movies, see Show Me.


Variables and functions for digital movies

Digital movies-overview

Authorware has several variables and functions that track what a digital movie is doing so that you can respond accordingly. These variables and functions are useful for further controlling a digital movie.

These are the variables related to digital movies and what they can do.

This variable	Does this
MoviePlaying	Determines whether any digital movie is playing
MediaPlaying	Determines whether a specific digital movie is playing
MediaPosition	Tells you the current frame number in a digital movie
MediaLength	Tells you the total number of frames in a digital movie
MediaRate	Tells you the rate for the digital movie in frames per second
These are the functions related to digital movies and what they
can do.

This function	Does this
MediaPlay	Plays a specific digital movie. When the digital movie is already playing, it is reset to its starting frame and plays from there.
MediaPause	Pauses a digital movie
MediaSeek	Plays a specific frame of the digital movie


Digital video layers-overview

Digital movies-overview

When Authorware displays the contents of more than one icon at a time, the objects can appear in the same area, with some objects in front of others. By default, the objects are stacked from back to front in the order that the icons are encountered in the flowline.

Unless you specify otherwise, the digital movie's Layer setting is 0. The higher the Layer number, the closer the digital movie icon appears to the front. Director, QuickTime, and AVI digital movies always need to appear in front. For PICS and FLC/FLI movies, you can change the default layer that the movie appears in. For example, you might want to keep the contents of a previous icon on top and have the contents of subsequent icons appear behind it. You can set the movie's Layer attribute to make the movie appear in front of or behind other objects regardless of the movie's place on the flowline.

The icon that has a higher Layer setting always appears on top of an icon that has a lower Layer setting. Adjusting icons' Layer settings relative to each other stacks the icons the way the scene requires.


Using video-overview

Videodisc and videotape are excellent sources of high-quality images and sound. Using the video icon, you can play a segment of video from a videodisc or videotape player, provided the following are also available:

•	The source material on videodisc or videotape

•	A videodisc or videotape player connected to the computer

•	A place for the image to appear-either an external monitor or computer that contains a video overlay card

The Video icon properties dialog box lets you specify playback conditions, such as:

•	The segment's beginning and ending frames

•	How fast the video plays

•	Which audio channels play

•	Whether to provide an on-screen controller that lets the user control the video

Using the variables and functions related to the video icon, you can control the video in ways that the Video Icon Properties dialog box alone can't. For example, you can have more precise control over which frame plays, detect whether video is started or finished and instruct the piece to respond accordingly, and send instructions to the video player.


Limitations of CLV players

Using video-overview

Be aware that CLV players have the following limitations.

•	Many control buttons don't work because the player can't step in CLV mode.

•	CLV players don't support multispeed playback.

•	When seeking to a spot on a CLV disc, the player doesn't fill the frame buffer with the frame at that location. This is called squelching; it remains in effect until the disc begins to play.

•	Video doesn't play in reverse.


Object Linking and Embedding (OLE)

Object Linking and Embedding (OLE) objects let you include content in a Authorware for Windows piece, even though it continues to exist in and can still be modified by a different application. This lets you use the current version of these objects without revising the Authorware piece. For example, you could display a spreadsheet that's being constantly updated, text that's still being revised, or the current version of a graphic that's still being edited.


Importing text-overview

You can import or paste text from other pieces or other applications.

•	Importing text lets you include entire documents.

•	Pasting lets you include sections of other documents that you have copied to the cClipboard.

The text can be in rich text format (RTF), which is also called Interchange Format in Microsoft Word, or in a text file such as TeachText or NotePad.

•	RTF text retains all formatting. Authorware in turn interprets and applies the text format, except for headers, footers, footnotes, tables, and columns. These elements appear as regular paragraph text.

•	Teach Text or NotePad files are simple unformatted text. They appear in Authorware's default text format.

When the text contains page breaks, you can choose whether it is treated as one page, as a scrolling text box, or as separate display icons. After the text is included, you can modify its style either by assigning text styles or by using the text tool and the Text menu.


Text styles-overview

You almost always want to assign specific text attributes-font, size, style, and color-that make the text easy to read, indicate its purpose, and look attractive in the piece. This often means applying several different sets of attributes to different portions of text in a piece.

You could apply attributes individually by selecting a portion of text and choosing items such as Font and Size from the Text menu, but that isn't practical for applying sets of attributes to more than just a few portions of text.

You can conveniently format and update entire portions of text by using text styles-sets of specific attributes that you select and name. As a result, you can make text formatting consistent throughout a piece, regardless of the text's source.

You create a text style by selecting the style's set of attributes and giving it a name, and then you assign the text style to selected portions of text.

You use the Text Styles palette to apply text styles to portions of text or to apply additional text styles to the same text.

When you apply more than one text style to the same portion of text, the styles are combined.

For example, if you give text one style for 12-point Times and a second style for bold and red, the resulting text is red, bold, 12-point Times.

When the styles have different settings for the same attribute the text style that is applied at the beginning of the text portion becomes the default text style for the portion. Any occurrences of the other text style within the text portion override the default text style.

For example, if you have a paragraph that is assigned a text style for black text but assign red text to several hot-link words within the paragraph, the hot-link words appear in red but the rest of the paragraph appears in black.


Pasting text-overview

You can paste text from within Authorware or from other applications. When a text object is selected, the text is pasted at the text cursor. When no text object is selected, Authorware creates a new text object and pastes the text in it.

Text that is in RTF retains its formatting. When you paste RTF text that includes hard page breaks, Authorware asks whether you want to ignore the existing page breaks or place the text preceding each page break in a separate display icon. You can also select whether the text appears in a scrolling field.


Modifying text styles-overview

You can easily modify an existing text style. Changes automatically appear in text that already has the text style applied; therefore you can update a text style throughout an entire piece without reapplying the text style to each portion.

Changing the Default Style changes all text whose attributes aren't otherwise specified. For example, changing the default text color changes all text in the default color except for text that has a color explicitly specified by another text style.

When you close the Define Styles dialog box, Authorware automatically adjusts the word wrapping for any text that is in the style you changed.


Importing graphics-overview

Often the graphics that you want to use already exist-for example, a set of engineering schematics, a collection of digitized photographs, or an archive of historical documents that have been saved on CD-ROM. Other times you want to use the power of a graphics application such as Macromedia FreeHand to create and edit images before you bring them into an Authorware piece.

When you import graphics you can include existing graphics from libraries or databases or use another application to create graphics and then import the finished product. This provides a tremendous resource of existing images related to the topic.

You can import graphics directly into display or interaction icons and you can also combine bitmap and drawn graphics freely in an icon.

If an imported graphic is embedded into the piece, it appears when the piece runs on either a Macintosh or Windows computer, regardless of the platform you authored on.


Mode, color, fill, and line width

You can set color, fill pattern, and line width for drawn objects but not imported graphics.

•	For rectangles, ovals, and polygons, you can set color, fill pattern, and line width.

•	For lines, you can set color and line width.

•	For text, you can set color.

An object's display mode determines the effect of overlaying one graphic object over another. You can set a mode for drawn objects and imported graphics.


Variables, functions, and expressions-overview

From the Window menu you can use some of Authorware's most powerful features: variables and functions.

•	A variable represents a value that can change. As its name implies, a variable's value varies. Authorware creates and updates many variables automatically. For example, the system variable PercentCorrect automatically keeps track of the percentage of questions a user has answered correctly. You can also create your own variables to store any information you need to keep track of.

•	A function performs a specific task. Authorware has many functions you can choose from. For example, the system function JumpFile lets you jump from one Authorware file to another. Special custom functions can perform almost any task a computer is capable of.

You can use variables and functions in calculation windows and in dialog boxes, and you can also embed them in text objects.

You can also use variables and functions in expressions.

•	An expression is a statement that produces a result by performing a calculation or carrying out an operation such as placing a value in a variable.


Variables-overview

Variables, functions, and expressions-overview

A variable represents a value that can change-such as the amount of time a user has spent in an interaction, the percentage of the questions in a test that a student has answered correctly, or whether or not a digital movie is currently playing. Think of a variable as the address on a mailbox-the address (variable name) is always the same, but the contents (variable value) can change at any time.

There are two types of variables: system variables, which are an integral part of Authorware, and custom variables, which you create yourself. Custon variables are also known as user variables or user-defined variables.


System variables-overview

Variables-overview

Authorware has a set of built-in variables called system variables. They keep track of a wide range of information and are grouped into nine categories: Decision, File, Framework, General, Graphics, Icons, Interaction, Time, and Video. Authorware updates the information in the system variables automatically.

System variable names in Authorware always begin with an uppercase letter and consist of one or more words with no spaces between them-for example, Tries and VideoDone. Some system variable names can be followed by an at symbol (@) and the title of an icon. They're called referenced variables, and you can use them to find out a variable's value at a specific icon within a file.

Some variables that complement each other, such as ClickX and ClickY, come in sets. Some variables work in tandem with functions, such as the variable FileLocation and the function ReadExtFile. You can assign values to some system variables to provide Authorware with information.

For example, you can make the variable Movable true or false to tell Authorware whether or not you want users to be able to move a particular object. The values of other system variables, such as EntryText, are assigned to them by Authorware, and you can only extract the information they contain.

Before you start working with system variables, decide what you want to do with the variable. Do you want to provide Authorware with information (for example, by setting Movable to true to tell Authorware to allow a user to move an object)? Or do you want to use the variable to extract from Authorware information you need (for example, information that a user has entered and that Authorware has stored in EntryText)? Once you've decided what you want to do with a variable, finding it and putting it to use is easy.


Custom variables-overview

Variables-overview

If you want to keep track of information that Authorware isn't recording in a system variable, you can create a custom variable. Custom variables reflect the values you give, or assign, them. The values change only when you explicitly change them. Assigning a value to a variable is like changing the contents of a mailbox-the address on the mailbox stays the same but you change what's inside it. For instance, you might keep track of how many times Authorware has passed though a decision structure with a variable named Counter. You'd use the expression Counter := Counter + 1 to add 1 to the value of Counter each time Authorware passed through the decision structure.

Creating a custom variable is simple. All you need to define the variable is a name and an initial value. The easiest way to create a custom variable is simply to use it in a calculation window or a dialog box or to embed it in a text object. Authorware automatically opens the New Variable dialog box so you can finish defining the variable there.


Where to use custom variables

Custom variables-overview

You can use custom variables in the same places you can use system variables-in calculations, in dialog boxes, and embedded in display text.

When you run an Authorware piece, the first thing Authorware does is fill in each custom variable with the initial value you've assigned it in the New Variables dialog box.

You can use the assignment operator (:=) to change the variable's value anywhere else in the piece. Here are some examples:

Expression	What it does
Path := 1	Changes the value of the custom variable Path to 1
City := "Cape Town"	Changes the text in the custom variable City to Cape Town
Switch := True	Sets the custom variable Switch to True
UserID := EntryText	Changes the text in the custom variable UserID to the text that's in the system variable EntryText


Custom variable names

Custom variables-overview

Variable names must be unique-different from both any system variable and any other custom variable. Each name must begin with a letter, but can contain any combination of letters, numbers, underscores, and spaces. Capitalization doesn't matter, but spaces do; for instance, Score and score are the same variable, but Score1 and Score 1 are not. Variable names can be up to 40 characters long.


Types of variables

Variables-overview

A variable can contain a number, character string, logical state (true or false), a list, or an event. Authorware automatically interprets the variable's type based on how you've used it.


Numerical variables

Types of variables

Numerical variables store numbers. The numbers can be integers (13), real numbers (0.006), and negative numbers (-33). A variable can store and display a number with a range from -1.8*1087 to +1.8*1087.

Numerical variables might contain a user's score, a topic number, or the result of a mathematical calculation.


Character variables

Types of variables

Character variables store character strings. A string is a sequence of one or more characters consisting of letters (Mary Wagner), numbers (49931), special characters (*/), or a combination of any of them (Total is $5.00). A character variable can contain up to 30,000 characters.

Character strings are always enclosed in quotation marks (as you can see by selecting a variable that contains a character string, such as FileName in the File category in the Variables dialog box, and looking at its current value).

Character variables might store the text of a user's response, a list of spelling words, or today's date.


Logical variables

Types of variables

Logical variables store a value of true or false. They're like a light switch that can only alternate between two states: on or off. In many programming environments, logical values are called boolean values. In Boolean logic, the number 0 equals false, and any nonzero number (usually 1) equals true.

Logical variables are particularly useful for activating or deactivating options. For example, inserting a logical variable in a button's Active If True field is a good way to activate and deactivate the button.

Logical variables are also useful for synchronizing events. For instance, you could use the system variable Animating to play a digital movie and move it across the screen at the same time.


List variables

Types of variables

List variables store an array of constant or variable values. Authorware supports two types of lists:

•	Linear lists, in which each element is a single value, such as
[1, 2, 3,"a","b","c"]

•	Property lists, in which each element consists of a property and a value separated by a colon, such as
[#firstname:"Harry",#lastname:"Smith",#phone:5551212]

Both types of lists can be unsorted or sorted in alphabetic order.

List variables are particularly useful for keeping track of and updating an array of data.


Displayed variables-overview

Variables-overview

You can display the current contents of system and custom variables by embedding them in text objects. Embedding the contents of variables in text objects makes it possible to display information that changes from moment to moment or from user to user.

When Authorware displays the text object to a user, it displays the contents of the embedded variables, not their names:

You can also use embedded variables as a debugging device. Just embed a variable at different points in your application so that you can check whether or not the variable has the correct value at different locations.


Variable values at a specific icons

Because a variable's contents can change, its value may be different at different points throughout an application. Many system variables allow you to refer to a variable's value at a specific icon within the application. Such variables are called referenced variables.

To use a referenced variable, type the variable's name followed by an at symbol (@) and the title of an icon, like this:

Variable Name@"IconTitle"

For example, the system variable EntryText contains only the text that the user typed in the last text-entry field. But using EntryText as a referenced variable gives you access to the text the user has typed in any text-entry field anywhere in a piece. If you have an interaction titled Ask Name, you can find out the name the user entered there no matter where you are by using:

EntryText@"Ask Name"

Regardless of the number of text-entry fields in the piece, EntryText@"Ask Name" always contains the value the user typed at the interaction Ask Name. By using referenced variables you can avoid having to create new variables for every text-entry field where the user enters information you want to store.

The title of the icon you use with a referenced variable must be unique. For example, EntryText@"Ask Name" wouldn't work if "Ask Name" were the title of both an interaction icon and a display icon.

Authorware automatically tracks changes to icon names used with referenced variables. For example, if you change the title of the interaction from Ask Name to Enter Your Name, Authorware automatically changes the icon title wherever it's referred to by a variable.

Referenced variables can be useful in expressions. For example, suppose you want to add the values a user enters as responses to three different interactions entitled Pigs, Chickens, and Cows. You can use the NumEntry system variable followed by the at symbol in an assignment expression, like this:

Total animals := NumEntry@"Pigs" + NumEntry@"Chickens" + NumEntry@"Cows"

Authorware 4 allows a variable or an expression to take the place of the icon title in @-references. The @ symbol is an operator and has the highest precedence, so the expression IconID@myVar^index is interpreted as (IconID@myVar) ^index and not as IconID@(myVar ^ index).

The @ operator can also reference an icon by it's IconID, as well as by its name. Referencing an icon by its Icon ID has two benefits: it is faster because there is no runtime lookup of the name, and you can reference an icon by its ID even if its name is not unique.

The form of IconID@"sometitle" is treated as a constant and the title will be updated automatically if the icon is renamed. You can defeat this by using an expression like IconID@("myicontitle"). With this expression, Authorware looks up the title at runtime rather than compile time. Runtime lookup is slower, and there is no warning for duplicate icon titles. The advantage is that you can copy and paste these expressions between files and not break the connections.

The type of the expression on the right hand side of the @ determines what kind of lookup is done. If the right hand side is of type string, the operator interprets it as a title and looks for an icon with that title. If there is no icon with that title it returns 0. If there is more than one icon with that title it returns 0.

If the right hand expression is numeric the @ operator assumes it is an IconID. If the IconID is valid it uses the icon with that ID. If it isn't valid it returns 0.

You must type an icon title and enclose it in quotation marks. Typing IconID@title will interpret title as a variable name. You must put the quotes in explicitly:

variable := "some title"

result := Checked@variable

In this example variable contains a string so the expression Checked@variable looks for an icon titled "some title" and then retrieves the value of Checked for that icon. If "some title" isn't unique or isn't the name of any icon then the result is 0.

variable := CurrentPageID

DisplayX@ variable

In this example, the variable contains a number(an icon ID) so the expression DisplayX@variable looks for the icon with the specified ID and then retrieves the value of DisplayX for that icon. If the ID isn't valid then the result is 0.


Functions-overview

Variables, functions, and expressions-overview

A function performs a specific task. The task can be as simple as capitalizing the first letter of every word in a line of text or as complex as creating an array. You can, in fact, create a function to perform any task a computer is capable of carrying out.

There are two types of functions: system functions, which are internal to Authorware, and custom functions, which are provided by Xtras, XCMDs and DLLs.


System functions-overview

Functions-overview

Authorware has a set of built-in functions called system functions. They give you ways to manipulate text, files, navigation structures, icons, graphics, and video. Some of them are quite easy to use, others require more sophistication. They all have the same purpose, however: to increase Authorware's flexibility and to extend the range of things you can accomplish with it.

Each functions has its own format, or syntax, that you need to follow in order to use the function. The syntax includes one or more arguments enclosed in parentheses. Arguments are information the function needs to do its job. For example, when you use the SQRT function, you need to supply the function with the number you want the square root of.

If a function has arguments, they appear at the beginning of the description of the function in the Functions dialog box.

System functions in Authorware follow certain naming conventions: they always begin with an uppercase letter and consist of one or more words with no spaces (for example, Beep and VideoSpeed).


Custom functions-overview

Functions-overview

You can create custom functions to perform tasks that Authorware's system functions aren't designed to handle. The best way to do this is to create an Authorware Xtra because Xtras can be designed to work for both Macintosh and Windows computers. Creating a custom function or Xtra requires some skill as a programmer, so you won't want to try creating one unless you have a programming background.


DLLs on Windows computers-overview

Custom functions-overview

Windows dynamic link libraries (DLLs) provide a way of linking to external functions that you call from within calculation icons.

Unlike XCMDs used on the Macintosh, Windows DLLs weren't created for nonprogrammers. Standard DLL format and calling conventions often require you to refer to programmer documentation and cope with API calls to Windows. To get around that, Authorware supports a transparent extension to the conventional DLL, called a UCD (for user code document). A C programmer who creates a DLL for use with Authorware can use the UCD to preload the information Authorware needs to recognize and link to functions within the DLL, including function names, arguments, return types, syntax templates, and online descriptions. The additional resources can be stored either with the DLL or separately, and they remain transparent to other programs that have access to the DLL.

When you load a UCD, Authorware lists the functions it contains in the Functions dialog box. You can select the functions and paste them into a calculation window just as you would a system function. That makes it possible to load and call DLLs without having to cope with low-level programming conventions.

Authorware also supports conventional DLLs by presenting a dialog box in which you can enter the specific calling parameters. Such conventional support makes it possible to link to DLLs that have not been written to be specifically loadable by Authorware.

Note: When you convert a file from Authorware for Windows to Authorware for Macintosh, DLLs aren't converted. You need to write custom functions as XCMDs if you want them to work on a Macintosh.


XCMDs on Macintosh computers-overview

Custom functions-overview

XCMDs are resources containing executable code that a Macintosh application can call to perform specific tasks. XCMDs aren't complete applications themselves; rather, they're called from within an application such as an Authorware file to provide additional functionality. You can write an XCMD in almost any programming language; C and Pascal are commonly used.

XCMD is actually a general term that refers to two different types of code resources: XCMDs and XFCNs. In HyperCard, an XFCN returns a value and an XCMD does not, but Authorware doesn't make that distinction. Throughout this chapter, XCMD refers to both XCMDs and XFCNs.

HyperCard defines two levels of XCMD support. The first level is the XCMD interface available in HyperCard 1.0, which doesn't allow an XCMD to create a window. The second level became available in HyperCard 2.0 and provides support for the creation of windows by XCMDs. Authorware supports most of the HyperCard 2.0 XCMD interface, except for some callback functions that use HyperCard-specific concepts that don't apply in Authorware.

Note: When you convert a file from Authorware for Macintosh to Authorware for Windows, XCMDs aren't converted. You need to write custom functions as DLLs if you want them to work on a Windows computer.


System function categories

Functions-overview

System functions are grouped into 15 categories: Character, File, Framework, General, Graphics, Icons, Jump, Language, List, Math, Network, OLE (Windows), Platform, Time, and Video.

Some functions that complement each other, such as ArraySet and ArrayGet, come in sets. Some functions work in tandem with variables, such as the ReadExtFile function and the system variable FileLocation. You can use functions such as IconNext and Keywords to get information; others such as CreateFolder, DeleteLine and Quit to carry out tasks; and others such as Random and Round to perform operations.

When you use a function you must use the correct syntax, which includes the function's arguments.


Function arguments-overview

Functions-overview

Almost every system function requires arguments, which supply the function with the information it needs to carry out its task.

Quotation marks in arguments

If a function requires a character string as an argument, you must enclose the character string in quotation marks. Authorware displays character string arguments in quotation marks in the function's syntax. But don't place quotation marks around variable names.

For example, the PressKey function presses the key you name as if the user pressed it. Its syntax looks like this:

PressKey("key")

If you use the name of a key, which is a character string, you enclose the name in quotation marks, like this:

PressKey("Return")

If you use the system variable Key (which contains the name of the last key the user pressed), don't use quotation marks:

PressKey(Key)

Optional arguments

Some functions have optional second or third arguments that you can use if you need to provide additional information to the function you're using.

For instance, the JumpFile function jumps to the Authorware file you supply as the function's argument. Its syntax looks like this:

JumpFile("filename")

If you want to jump to a file named Part2, you set up the function like this:

JumpFile("Part2")

There's also an alternative syntax you can use:

JumpFile("filename", "variable1, variable2")

Use the optional arguments variable1 and variable2 to pass variable values to variables of the same name in the file you're jumping to. For example if you want to pass the values of UserName and Score to Part 2, you set up the function like this:

JumpFile("Part 2", "UserName, Score")

Related Topics:	System functions-overview

Custom functions-overview

Functions that return a result


Functions that return a result

Some functions return a value. For example, the Capitalize function returns a character string with the first letter of every word capitalized. The Capitalize function's syntax looks like this:

text := Capitalize(string)

If you want to capitalize the text a user has entered in the last text-entry field (which Authorware automatically stores in system variable EntryText) and then store the text in a variable named Name, you set up the function like this:

Name := Capitalize(EntryText)

For example, if the user enters alicia cardozo, Authorware stores the text in Name as Alicia Cardozo.


How to use a custom functions
How to use a custom function

Custom functions-overview

Once you've loaded a custom function, using it is just like using a system function. The syntax of a custom function can take two forms. If the function has arguments, its syntax looks like this:

function(arguments)

You must place any arguments between the parentheses that follow the function's name. For example, suppose you are using a custom function named EncryptPassword that has one argument, the text of the password you want to encrypt. If the text of the password is in a variable called NewPassword, the function looks like this:

EncryptPassword(NewPassword)

If the function has no arguments, its syntax looks like this:

function()

Even though the function has no arguments, you still need to follow it with a pair of parentheses.

Before you try to use a custom function, make sure you know what its syntax is and what its arguments are.

Windows	When you use a DLL, Authorware displays an error message if you don't supply the required number of arguments.
Macintosh	When you use an XCMD, Authorware doesn't check to see if the number of arguments you provide matches the expected number of arguments. To provide error checking, use XCMDs that return an error message if they're used without the correct number of arguments.
When you distribute a piece, be sure to include with the Authorware files any custom functions you've used in the piece.


Expressions and operators-overview

Variables, functions, and expressions-overview

To achieve the results you want with a variable or function, you often need to make the variable or function part of an expression. An expression is a statement that produces a result by performing a calculation or carrying out an operation such as placing a value in a variable. You can use expressions in calculation windows and dialog boxes, and you can embed them in text objects. In addition to variables and functions, you can use operators, numbers, character strings, constants, and comments in an expression.

For example, this expression increases the value of the variable Counter by 1:

Counter := Counter + 1

This expression uses the GetLine function to get the phone number that's stored on the fifth line of the variable ContactInfo and put it in the variable PhoneNumber:

PhoneNumber := GetLine(ContactInfo,5)

To tell Authorware what you want it to do with the variables and functions in an expression, you use operators.


Types of operators

Expressions and operators-overview

Authorware has five different types of operators: assignment, relational, logical, arithmetic, and concatenation. The operators you can use in Authorware are listed in the following table:

Category	Operator	What it means
Assignment operator	:=	Assign the value on the right of the operator to the variable on the left
Relational operators	=	Equal to
	<>	Not equal to
	<	Less than
	>	Greater than
	<=	Less than or equal to
	>=	Greater than or equal to
Logical operators	~	Not
	&	And
	|	Or
Arithmetic operators	+	Add
	-	Subtract
	*	Multiply
	/	Divide
	**	Exponentiate
Concatenation operator	^	Join (combines two strings into one)


Precedence of operators

Expressions and operators-overview

The following table gives the order in which Authorware performs operations, starting with the row at the top. If operators from the same row are in an expression, Authorware carries them out in the order they're shown from left to right.

()
~	+	- (unary)
**
*	/
+	-
^
=	<>	<	>	<=	>=
&	|
:=


Assignment operator

Types of operators

The assignment operator (:=) assigns the value or expression on its right to the variable on its left. Here are some examples:

Expression	What it does
Path := 2	Assigns a value of 2 to the custom variable Path
City := "Cape Town"	Assigns the text Cape Town to the custom variable City
Movable@"Ball" := False	Assigns a value of false to the system variable Movable, which locks movement of the display icon titled Ball
Topic := Topic + 1	Adds 1 to the current value of Topic and then assigns the new value to Topic


Relational operators

Types of operators

Relational operators compare two values and return a logical (true or false) result. They can be used to compare numbers, character strings, or numerical and character variables.

Operator	What it means
=	Equal to
<>	Not equal to
<	Less than
>	Greater than
<=	Less than or equal to
>=	Greater than or equal to
Here are some examples of how you might use relational operators in an expression.

Expression	What it does
Fuel > 15	Compares the value of custom variable Fuel to 15, returning a value of true or false
Topic > 1	Returns a value of true if the custom variable Topic is greater than 1; otherwise returns a value of false
Note number <= Total	Returns a value of true if Note number is less than or equal to Total; otherwise returns a value of false
Completed = False	Compares the value of the custom variable Completed with false. If Completed is false, returns a value of true; if Completed is true, returns a value of false
Number of lines = 15	Returns a value of true if the custom variable Number of lines equals 15; otherwise returns a value of false
Notice that, in the last two examples the equal sign (=) is used rather than the assignment operator (:=). The assignment operator is used to assign a value to a variable. The equal sign is used to compare two values or variables.

You can use a shorthand form for typing compound conditions. For more information, seeCompound conditions.


Logical operators

Types of operators

Logical operators compare logical values and return true or false.

Operator	What it means
~	Not (changes a value or expression to its opposite state)
&	And (both values or expressions must be true for result to be true)
|	Or (if either value or expression is true the result is true)
Here are some examples of how you might use logical operators in an expression:

Expression	What it does
Switch := ~ Switch	This expression changes the state of the custom variable Switch to the opposite value. If Switch is true, it becomes false; if it is false, it becomes true
Ready := Knob Up & Green	Ready is true if Knob Up and Green are both true; Ready is false if either or both custom variables are false
Ready := Knob Up | Green	Ready is true if either Knob Up or Green or both are true; Ready is false if both variables are false


Compound conditions

Types of operators

When entering compound conditions, you can use a shorthand form for relational and logical operators. For example, the following condition is true if Choice is between 1 and 5:

Long form	Choice > 1 & Choice < 5
Short form	Choice > 1 & < 5
This condition is true if the variable Name contains Jim, james, or James.

Long form	Name = "Jim" | Name = "james" | Â Name = "James"
Short form	Name = "Jim" |= "james" |= "James"


Arithmetic operators

Types of operators

Arithmetic operators can be used with either numbers or numerical variables. The result is a number.

Operator	What it means
+	Add
-	Subtract
*	Multiply
/	Divide
**	Exponentiate
Here are some examples of how you might use arithmetic operators in an expression.

Expression	What it does
Score := Score + 1	Increases the value contained in custom variable Score by 1
Temp C := (Temp F- Â 32)/1.8	Converts Fahrenheit degrees to Celsius degrees: subtracts 32 from the value in the variable Temp F, divides the result by 1.8, and then stores the result in the variable Temp C


Concatenation operator

Types of operators

The concatenation operator(^) joins two character strings or the character strings in two variables.

You can also use the concatenation operator to join Return and Tab to a character string. That makes it possible to format a character string that you're writing to an external file with the WriteExtFile function.

The syntax of the WriteExtFile function looks like this:

WriteExtFile("filename", "string")

Here's an example of what the syntax looks like when you replace the string argument with a concatenated string:

WriteExtFile("Score.txt", UserName ^ ":" ^ Return ^ Â
"Final score is " ^ Final score ^ Return ^ Â
"Score on pretest was " ^ Pretest score)

WriteExtFile writes the concatenated string to a text file named Score.txt. The custom variables Final score and Pretest score are joined with system variable UserName and two character strings. Two Returns place the score information on lines following the user's name.


How Authorware evaluates expressions

Expressions and operators-overview

You don't need to define a variable as a numerical, character, or logical variable when you set it up. Authorware automatically interprets each variable's type based on how you used it.

When you add two variables together, for instance, Authorware treats them as numbers because arithmetic operators can be used only with numbers. When you concatenate two variables, Authorware treats them as character strings because the concatenation operator joins only strings.

Similarly, when you use a variable in a place where Authorware expects a logical variable (in the Conditional Options dialog box, for instance), Authorware treats it as a logical variable. If the variable contains a numerical value, Authorware treats the variable as true when the value is anything other than zero. If the variable contains a character string, Authorware treats the variable as true only if the string is True, T, Yes, or On (capitalization isn't important). All other characters are false.

Character strings must be enclosed in quotes, or Authorware will interpret the string as a custom variable.

If you use a character string (or character string variable) in a mathematical expression, Authorware interprets the variable as a numerical value. If the character string begins with a number, Authorware extracts the number. It recognizes plus (+) and minus (-) signs and beginning decimal points, but ignores all the characters following the number at the beginning of the string. If the character string is True, T, Yes, or On, Authorware converts it to 1; if the string begins with any other character, Authorware converts it to 0.

If you concatenate a number (or a numerical variable) with a character string in an expression, Authorware interprets the numerical value as a character string. It converts the value to a number with up to 15 decimal places and adds the appropriate decimal separator. Separators between thousands aren't added.


Variables, functions, and expressions in libraries

Variables, functions, and expressions-overview

You can use variables, expressions, and custom functions in library and linked icons in several ways:

•	In calculation icons

•	In calculations attached to other icons

•	In option or condition text-entry fields

•	In displayed variables.

Stored in linked icons	Stored in library icons
Calculation icons	Displayed variables
Calculations attached to  other icons
Option or condition text-entry fields
Because displayed variables affect the contents of display icons, Authorware stores them in library icons. Consequently, you can't edit them in linked icons, only in library icons. Any change you make to a displayed variable in a library icon is reflected automatically in all the icons linked to it.

On the other hand, the data used in calculation windows or in condition fields (such as the Active If True field in the Button Options dialog box) is treated differently. You can edit it either in a linked icon (without affecting the library icon it's linked with) or in the library icon (without affecting any of the icons linked to it). A change you make to a calculation icon in a library window, for instance, won't affect its linked icons unless you update the linked icons. You can, however, quickly change a calculation icon's expression wherever it's used in a file by making the change to the library icon and then updating all icons linked to it.

Note: Referenced variables, which are followed by an @ symbol and an icon title, cannot be used in library icons, but they can be used in linked icons.


Scripting and flow control

Variables, functions, and expressions-overview

Two of the simplest and most common ways to control what happens in a computer program are If-Then statements and Repeat loops.

For more detailed description of Authorware scripting, see the Scripting section of Authorware Help.


If-Then statements

An If-Then statement gives you a way to instruct Authorware to do different things under different conditions. For example, you can use an If-Then statement to jump to one of two files depending on whether a student's score is above or below a certain value. The statement would look like this:

Windows	if PercentCorrect >= 70 then JumpFile(FileLocation ^ "part2.a3w") else JumpFile(FileLocation ^ "remed1.a3w") end if
Macintosh	if PercentCorrect >= 70 then JumpFile(FileLocation ^ "Part 2") else JumpFile(FileLocation ^ "Remedial 1") end if
As you can see from the example, the structure of an If-Then statement has three parts: the condition Authorware is checking, what Authorware is to do if the condition is true, and what to do if it's false.


Repeat loops

A Repeat loop gives you a way to have Authorware repeat an action either for as long as a condition is true or for a given number of times.

For example, you can set up a Repeat loop that draws a box on the screen and cycles through randomly selected colors. The Repeat loop looks like this:

repeat with Counter := 1 to 256

Red := Random(0,255,1)

Green := Random(0,255,1)

Blue := Random(0,255,1)

SetFill(1,RGB(Red,Green,Blue))

Box(1,100,100,200,200)

end repeat

Authorware starts with Counter equal to 1. It goes through each of the statements in the loop. After it finishes the last one, it compares the value currently in Counter with 256. If the value is less than 256, it adds 1 to the value and starts over again. Authorware repeats the process until Counter is equal to 256.

For more information about repeat statements, see Repeat with, Repeat With x In List, Repeat While in the System Functions reference.


Xtras-overview

Authorware's multimedia features take creativity in many directions. As you think of new uses for Authorware, you may want to add features to Authorware that aren't part of the standard Authorware application. To give you flexibility, Authorware supports the use of Xtras-extensions that add new capabilities.

Macromedia produces a small number of Xtras, such as the Director transitions Xtra and the QuickDraw 3D Xtra, but most are produced by independent developers. A few Xtas from independent developers, such as the Zeus Productions transitions Xtras, are included on the Authorware CD. For information about other Xtras that are available, visit the Authorware Developers Center.


Types of Xtras

There are four types of Xtras in Authorware.

Transition Xtras create special effects when Authorware displays or erases graphics. For example, you can dissolve from one graphic to another or have one page slide over another. Transition Xtras supplement Authorware's built-in transitions and are listed along with the built-in transitions in the Transitions dialog box. The Director transitions as well as transitions from g/matter, Xaos Tools, and Zeus Productions are installed with Authorware. For more information, see Choosing a transition.

Sprite Xtras add functional elements to the Presentation window. For example, you can use the QuickDraw 3D Xtra to display a 3D object that users can rotate, resize, and interact with in other ways. With the ActiveX Xtra, you can add a wide variety of ActiveX controls-such as Macromedia Flash animations, interactive charts, HTML browser windows, and pop-up menus.

Scripting Xtras provide custom functions you can use just like Authorware's built-in system functions. For example, Yamaha's MIDXTRA, available from the Authorware Developers Center, contains functions you can use to control input and output from MIDI devices.

MIX (Macromedia Information Exchange) Xtras make it possible for Authorware to import various media files such as JPEG images and AIFF sounds. You don't need to worry about managing MIX Xtras. Theyre installed with Authorware so that you can use them during development. They're also part of the Authorware runtime application and the Shockwave plug-in so that they're available whenever needed. But it's important that you know what they are because you'll find lots of them in the Xtras folder.


Xtra installation

An Xtra file is different from an Xtra. An Xtra file contains the code for the Xtra that appears inside Authorware. An Xtra file can, in fact, contain the code for more than a single Xtra. For example, the Director transitions Xtra contains code for dozens of individual transitions.

For an Xtra to be available to Authorware, the Xtra file that contains it needs to be in the Xtras folder that's inside the Authorware application folder. The Xtra files that are on the Authorware CD are placed in the Xtras folder when you install Authorware. They are:

•	Macromedia Director, Killer, Xaos Tools, and Zeus Productions transitions Xtras

•	QuickDraw 3D and ActiveX sprite Xtras

•	FileIO scripting Xtra

•	MIX Xtras

To make other Xtras available to Authorware, put the Xtra files that contain them in the Xtras folder before you start Authorware.


Distributing Xtras

When you use transition, sprite, or scripting Xtras in a piece, you need to distribute the Xtras files along with the Authorware files. Keep these things in mind:

•	Xtras can't be packaged with a piece. You need to distribute them as separate files.

•	The Xtra files need to be placed in an Xtras folder inside the folder that contains the Authorware runtime application.

•	In a shocked piece, use a put XTRAS statement to download the Xtra files to the Xtras folder that's inside the folder that contains the Shockwave plug-in. Don't use the onDemand option in the bin line that downloads an Xtra. (The user needs to be running Shockwave in trusting mode or the plug-in won't download Xtras.)

•	If you're distributing a piece to both Windows and Macintosh users, make sure you distribute both Windows and Macintosh versions of all the Xtras you've used.

•	There are 16-bit and 32-bit versions of Xtras for Windows computers: 16-bit Xtras run on all Windows systems, but 32-bit Xtras are much faster and more efficient on Windows 95 and Windows NT systems. Don't use 32-bit Xtras on Windows 3.1 systems.

•	Make sure you have a license to distribute the Xtras you're using.


Developing Xtras

If you're an experienced programmer and you're interested in developing Xtras, take a look at the Xtras Development Kit on the Authorware CD and visit the Xtra Developers Center for information.

Macromedia Technical Support doesn't help you write Xtras. Writing Xtras requires familiarity with programming and is outside the scope of Authorware.


Sprite Xtras-overview

A sprite is a functional element such as a 3D object, a Macromedia Flash animation, an HTML browser window, or a pop-up menu. Sprite Xtras make it possible to incorporate such sprites into an Authorware piece.

When you place a sprite Xtra file in the Xtras folder and then start Authorware, the Xtra file adds a command to the Insert menu. For example, the QuickDraw 3D Xtra adds the command ThreeD to the Insert menu.

Remember that an Xtra file can contain more than one Xtra. So the command the Xtra adds to the Insert menu has a submenu, which lists all the Xtras in the Xtra file.

To incorporate a sprite into an Authoware piece, position the Paste Hand on the flowline where you want the spite to appear, then choose the Xtra you want from the submenu it's on. Authorware displays a dialog box that lets you choose the sprite you want, then inserts it on the flowline in a sprite icon. When you run the piece, the sprite appears in the Presentation window.


Sprite icon properties-overview

Sprite Xtras-overview

Like all icons, sprite icons have properties that you can set in the icon's properties dialog box.

The general properties of a sprite icon-which all sprite icons share-are similar to those of a display icon: where it's positioned in the Presentation window, whether users can move it, the transition you've applied to it, and so on. For more information about the general properties of a sprite icon, see the Sprite Icon Properties dialog box.


Sprite properties, events, and methods

Sprite Xtras-overview

Sprite icons also have three categories of features that are unique to them: properties, events, and methods. Not all sprite icons have features in all three categories. For example, a QuickDraw 3D sprite icon has properties, but neither events or methods.

The properties, events, and methods available for a sprite icon appear in its options dialog box (which you can display by clicking the Options button in the properties dialog box).

See Sprite Icon Properties dialog box

For specific information about the properties, events, and methods that are available for a sprite Xtra, check the documentation that the developer has provided. The documentation may be available through the help system (click the Help button in the sprite icon options dialog box to display it), or it may be a Read Me file.


Sprite properties-overview

Sprite Xtras-overview

Properties are characteristics or values. For example, the QuickDraw 3D sprite icon has dozens of properties that affect the rotation and position of the model, how it's rendered to the screen, the direction and quality of the lighting, and the position and orientation of the camera.

Properties can affect things other than a sprite's appearance. For example, the QuickDraw 3D sprite has properties that control the user's ability to manipulate the model. A button sprite might have a property that determines whether it works like a push button or a radio button.

In some cases, both a sprite icon and the sprite it displays in the Presentation window can have properties. For example, the properties of the QuickDraw 3D sprite icon act as defaults for the properties of the sprite itself. You can, however, change the properties of the sprite directly-using the SetSpriteProperty function-without changing the properties of the sprite icon.


Sprite events-overview

Sprite Xtras-overview

Events are exactly what they sound like: things that happen. Some events are produced by users. For example, the Microsoft Calendar control tracks where a user clicks on the calendar. Other events are produced by a sprite on its own. The Microsoft Web Browser control, for example, sends an event when a download begins and another when the download is complete. Sprites that produce events are called senders.

You can use the event response type select a sender, to track the event you want to respond to, and to set up Authorware to respond when it happens. There's also a set of variables and functions you can use to manage events.


Sprite methods-overview

Sprite Xtras-overview

Methods are similar to custom functions. They let you perform some action to or through a sprite or a sprite icon. For example, you can use the GoBack and GoForward methods in the Microsoft Web Browser control to navigate through the pages of a web site.

The primary difference between a method and a custom function is that you can't use a method directly in a calculation window. Instead, you use the CallIcon function to call a method associated with a sprite icon or the CallSprite function to call a method associated with a sprite.

For example, to use the GoBack method, you set up a statement like this in a calculation window:

CallIcon(IconID@"Web Browser",#GoBack)


ActiveX controls-overview

Sprite Xtras-overview

ActiveX is Microsoft's new name for its OLE (Object Linking and Embedding) technology. The idea behind the technology is to allow one application-say, a spreadsheet-to plug into another application-say, a word processor-so that the information you produce in one can be an integral part of the information you produce in the other. The result could be, for example, a spreadsheet embedded in a business plan.

While ActiveX is essentially the same technology as OLE, its intent is slightly different. ActiveX is a streamlined and simplified approach aimed at allowing developers to produce small applications, known as controls, with a highly focused purpose. For example, the Shockwave Flash ActiveX control is designed just to play Flash animations, not to create them.

The ActiveX Xtra is an invaluable addition to Authorware. Developers have created thousands of ActiveX controls, and the uses of the Xtra are as limitless as the variety of ActiveX controls available. Here are just a few examples:

•	Use the Microsoft Web Browser control to let users explore the internet.

•	Create complete Windows applications with MicroHelp's extensive library of Windows controls.

•	Use the Microsoft Calendar control as an interface to a project log.

•	Let users explore virtual worlds with the InterVista VRML control.

For an example of what you can do with ActiveX controls in Authorware, take a look at the ActiveX and QD3D Show Me pieces.

For links to web sites where you can obtain ActiveX controls, visit the Xtras section of the Authorware Developers Center.

As of this release of Authorware 4, ActiveX was available for Windows computers only; the Macintosh implementation of ActiveX was still under development. Macromedia plans to release a Macintosh version of the ActiveX Xtra when the ActiveX technology is available for the Macintosh. Check the Authorware Developers Center for information about the status of ActiveX for the Macintosh.


Distributing the ActiveX Xtra

Two versions of the ActiveX Xtra file come with Authorware:

•	ActXPriv.X32 contains components of the ActiveX Xtra that you need only for authoring. Don't include it with the project files you distibute. It's not licensed for redistribution.

•	ActiveX.X32 contains everything users need to use an ActiveX control you've embedded in a piece. It's the file to include with the project files you distribute.

There's no 16-bit version of the ActiveX Xtra.


Scripting Xtras-overview

Scripting Xtras are packages of custom functions. When you place a scripting Xtra file in the Xtra folder and then start Authorware, a category is added for the Xtra in the Functions dialog box.

Select the category, and a list of the functions contained in the Xtra appear.

The functionality in scripting Xtras takes three forms: Global functions, parent objects and child objects.


Global functions, parent objects and child objects

Global functions are indistinguishable from Authorware's system functions. You set them up and use them the same way. For example, the FileIO Xtra's GetOSDirectory function-which gets the path to the Macintosh System folder or the Windows directory-is as straightforward as using Authorware's GetLine function.

See Using a system function.

Parent objects are analogous to the icons on the icon palette. Each has some well-defined task like displaying images or playing digital movies. When you drag an icon to the flowline, you're creating a child of the parent icon. The child icon is an instance of the parent, with its own unique attributes and behaviors: for example, it plays a specific digital movie at a specific frame and at a specific rate. Likewise, a child object is a self-contained, independent instance of a parent object.

The tasks that a parent object can perform are defined by its methods. To call a parent object method, you use Authorware's CallParentObject function. For example, here's how you call the FileIO Xtra's version method:

Xtra Version := CallParentObject("fileio",#version)

Before you can use a child object method to perform a specific task, you first use Authorware's NewObject function to create and name the child object. You then use Authorware's CallObject function to call the method you want to use. For example, here's how you create and use an instance of the MIDXtra:

Intro Music := NewObject("MidXtra")

CallObject(Intro Music, "MIDIload", "Intro.aif")


Scripting
Variables

Functions


Extreme 3D, variables**Jeff, shouldn't this be Authorware?**
Variables

Authorware's system variables contain information that help you determine user performance levels, construct performance reports, and control how your application operates.

Many system variables allow you to refer to a variable's value at a specific icon in the application by typing the variable's name followed by an "at" symbol(@) and the title of an icon:

VariableName@"IconTitle"

AllCorrectMatched	MiddleMouseDown
AllSelected	Minute
AltDown	Month
Animating	MonthName
AppType	MouseDown
AppTypeName	Movable
BranchPath	MoviePlaying
CalledFrom	Moving
CallStackText	NavFrom
CapsLock	Navigating
CharCount	NavTo
Checked	NetConnected
ChoiceCount	NetLocation
ChoiceNumber	NumCount
ChoicesMatched	NumEntry2
ClickSeconds	NumEntry3
ClickX	NumEntry
ClickY	ObjectClicked
CommandDown	ObjectMatched
ControlDown	ObjectMoved
CorrectChoice	OptionDown
CorrectChoicesMatched	OrigWorkingDirectory
Correct	OSName
CurrentPageID	OSNumber
CurrentPageNum	OSVersion
CursorX	PageCount
CursorY	PathCount
Date	PathPosition
Day	PathSelected
DayName	PathType
DirectToScreen	PercentCorrect
DiskBytes	PercentWrong
DisplayHeight	Pi
DisplayLeft	PositionX
DisplayTop	PositionY
DisplayWidth	PresetEntry
DisplayX	PreviousMatch
DisplayY	RecordsLocation
DoubleClick	RepCount
Dragging	ResponseHeight
e	ResponseLeft
ElapsedDays	ResponseStatus
EntryText	ResponseTime
EvalMessage	ResponseTop
EvalStatus	ResponseType
EventLastMatched	ResponseWidth
EventQueue	Resume
EventsSuspended	ResumeIcon
ExecutingIconID	Return
ExecutingIconTitle	RightMouseDown
FileLocation	RootIcon
FileName	ScreenDepth
FileNameType	ScreenHeight
FileSize	ScreenWidth
FileTitle	SearchPath
FirstDate	SearchPercentComplete
FirstName	Sec
FirstTryCorrect	SelectedEver
FirstTryWrong	SerialNumber
ForceCaps	SessionHours
FullDate	Sessions
FullTime	SessionTime
GlobalTempo	ShiftDown
HotTextClicked	SoundPlaying
Hour	StartTime
IconID	SystemSeconds
IconLog	Tab
IconTitle	TimeExpired
IOMessage	Time
IOStatus	TimeInInteraction
JudgedInteractions	TimeOutLimit
JudgedResponses	TimeOutRemaining
JudgeString	TimeRemaining
KeyboardFocus	TimesMatched
Key	TimesSelected
KeyNum	TotalCorrect
LastLineClicked	TotalHours
LastObjectClicked	TotalTime
LastSearchString	TotalWrong
LastWordClicked	Tries
LastX	UserName
Layer	Version
LicenseInfo	VideoDone
LineClicked	VideoFrame
Machine	VideoResponding
MachineName	WindowHandle
MatchCount	WindowHeight
MatchedEver	WindowLeft
MatchedIconTitle	WindowTop
MediaLength	WindowWidth
MediaPlaying	Within
MediaPosition	WordClicked
MediaRate	WordCount
MemoryAvailable	WrongChoicesMatched
	Year


AllCorrectMatched

Type:	Logical

AllCorrectMatched is true if the user has matched every response with a status of Correct attached to the interaction icon. Use AllCorrectMatched@"IconTitle" to get the value for a specific interaction.

Example:

Use this variable to let the user know if they've selected all the correct responses. You can also use it to trigger another response by setting a conditional response type to AllCorrectMatched. When the user selects all the correct responses, the condition is true.


AllSelected

Type:	Logical

AllSelected is true if Authorware has selected every path attached to the current decision icon. Use AllSelected@"IconTitle" to get the value for a specific decision icon.

Example:

Use AllSelected to determine if a user has seen all the material attached to a decision icon.


AltDown

Type:	Logical

AltDown is true if the user is pressing the Alt key (Windows) or the Option key (Macintosh). Use OptionDown when authoring on Macintosh.

Note: Under Windows the Alt key activates the Authorware menus when you're authoring, as well as user menus during presentation.


Animating

Type:	Logical

Animating@"IconTitle" is true if a motion icon is moving IconTitle.

Example:

This variable is useful for synchronizing animations with other events, such as sounds, digital movies, video sequences, or icons attached to decision icons. All these icons have fields you can use to begin or repeat the action when or until a specific condition is true.


AppType

Type:	Numerical

AppType identifies the runtime type displaying a packaged file or the type of Authorware application in use for an unpackaged file. AppType can have the following values:

1	Packaged file running with 16-bit (Windows  3.1) runtime
2	Packaged or unpackaged file running with 32-bit (Windows 95, Windows NT) runtime or Authorware application
3	Packaged file running with 68K Macintosh runtime; also the Fat runtime or Authorware application on a 68K Macintosh
4	Packaged file running with Power Macintosh runtime; also the Fat runtime or Authorware application on a Power Macintosh


AppTypeName

Type:	Character

AppTypeName contains the name of the runtime type displaying a packaged file or the type of Authorware application in use for an unpackaged file. AppTypeName can have the following values:

16-bit	Packaged file running with 16-bit (Windows  3.1) runtime
32-bit	Packaged or unpackaged file running with 32-bit (Windows 95, Windows NT) runtime or Authorware application
68k	Packaged file running with 68K Macintosh runtime; also the Fat runtime or Authorware application on a 68K Macintosh
PowerPC	Packaged file running with Power Macintosh runtime; also the Fat runtime or Authorware application on a Power Macintosh


BranchPath

Note: You can assign a value to this system variable.

Type:	Numerical

BranchPath identifies the branch path of the last response the user matched: 0=Continue, 1=Exit Interaction, 2=Try Again, and 3=Return. If you specify an interaction icon, BranchPath@"IconTitle", it refers to the branch path of the last response matched in the interaction. If IconTitle is an icon attached to a response, it refers to the branch path setting of the response.

If you assign a number to BranchPath, the branching for that response changes. Although this is not visible on the flowline, the change is in effect for the current and any subsequent matches of the anticipated response, unless you change it again by assigning a different value to BranchPath.

Note: Because BranchPath allows you to make changes to branching that are not reflected in the branching lines, it's important to carefully document your use of this variable. In most cases it's best to specify the conditions in their own response icons so you can see at a glance how branching will occur in your file.

Example:

This statement sets the branching for its response to Exit Interaction (1) if condition is true, and to Try Again (2) if condition is false:

Test(condition, BranchPath := 1, BranchPath := 2)


CalledFrom

Type:	Numerical

CalledFrom@"IconTitle" contains the ID of the icon that is the origin of the most recent call to the icon specified in IconTitle. (Calls are like round-trip connections; this variable identifies the starting point.) These connections include those created by navigate icons as well those created by choosing Perpetual and Return branching in a Response Properties dialog box.


CallStackText

Type:	Numerical

CallStackText is a return delimited list of connections between two icons that you set up as a call, where Authorware has not yet returned to the calling icon. (Calls are like round-trip connections; this variable identifies connections that haven't yet returned to their point of origin.) This includes connections created by navigate icons as well those created by choosing Perpetual and Return branching in a Response Properties dialog box.

Connections appear in the order they were made, with the most recent connection at the top of the list. For example:

Map "page 1" called from navigate icon "Link to "page 1""
Wait "stop" called from Map "jump to wait"


CapsLock

Type:	Logical

CapsLock is true if the CapsLock key is on.

Example:

In some pieces you may not want the user to type text in all uppercase characters. In such cases, display a message to the user if CapsLock is true.


CharCount

Type:	Numerical

CharCount contains the number of characters the user typed in response to a text interaction. Use CharCount@"IconTitle" to get the value for a specific interaction. CharCount operates on the text stored in the variable EntryText.

Example:

This example shows how to use CharCount to catch user entries that contain fewer or more than the number of characters you specify-in this case, the nine characters required for a social security number.

The interaction uses two responses. Entering CharCount<>9 in the Response Properties dialog box for the conditional response, makes it match any user entry other than nine characters. This includes any special characters or spaces.

Because any number of characters greater than or less than nine matches the first response, the interaction matches the second response only when the user enters exactly nine characters.


Checked

Note: You can assign a value to this system variable.

Type:	Logical

Checked@"ButtonIconTitle" is true if the button is in any of the four checked states listed in the Button Library dialog box. If you set this variable to true for a button, Authorware selects the appropriate checked state.

Example:

This statement sets the checked state of the Sound button:

Checked@"Sound" := TRUE


ChoiceCount

Type:	Numerical

ChoiceCount contains the number of responses attached to the current interaction icon. Use ChoiceCount@"IconTitle" to get the value for a specific interaction.

Example:

Use ChoiceCount in an interaction display to tell users how many choices they have, such as:

Select a topic from one of the {ChoiceCount} listed below.

If you add or remove choices at some point, ChoiceCount automatically reflects the new number of choices.


ChoiceNumber

Type:	Numerical

ChoiceNumber contains the number of the last response icon matched by the user in the current interaction. Use ChoiceNumber@"IconTitle" to get the value for a specific interaction. Response icons are numbered from left to right, beginning with 1.

Example:

Use ChoiceNumber to select a decision path based on which option the user selected in an interaction. Place an interaction at the beginning of your application that asks the user to make a choice, then use that ChoiceNumber throughout the rest of the file to determine which information to present.


ChoicesMatched

Type:	Numerical

ChoicesMatched contains the number of different response icons the user has matched in the current interaction. Use ChoicesMatched@"IconTitle" to get the value for a specific interaction.

Example:

In the following example, the user has to select half the topics in a menu. When the user selects half of the attached responses it triggers the conditional response ChoicesMatched = ChoiceCount/2.


ClickSeconds

Type:	Numerical

ClickSeconds contains the number of seconds that have elapsed since the user pressed the left mouse button (Windows) or the mouse button (Macintosh) in the presentation window.


ClickX, ClickY

Type:	Numerical

ClickX contains the number of pixels from the left edge of the presentation window to the position of the cursor when the user last pressed the mouse button. ClickY contains the number of pixels from the top of the presentation window to the position of the cursor when the user last pressed the mouse button. The top of the presentation window is usually the bottom of the title bar. However, on Windows computers, if Overlay Menu is turned off and the menu is showing, the top is the bottom of the menu bar.

Example:

Use these variables to set up one hot spot to cover a variety of user responses. Create an application such as a game in which the user must click a part of an object. Rather than creating separate hot spots, use one area and respond to the user based on the values of ClickX and ClickY.


CommandDown

Type:	Logical

CommandDown is true if the user is pressing the Command key (Macintosh) or the Control key (Windows).


ControlDown

Type:	Logical

ControlDown is true if the user is pressing the Control key.


Correct

Type:	Character

Correct contains the title of the first response icon in the interaction whose status is set to Correct. Use Correct@"IconTitle" to get the value for a specific interaction.


CorrectChoice

Type:	Numerical

CorrectChoice contains the number of the first response icon in the interaction whose status is set to Correct. Use CorrectChoice@"IconTitle" to get the value for a specific interaction.

Response icons are numbered from left to right, beginning with 1. CorrectChoice contains the number of only the first correct response icon.


CorrectChoicesMatched

Type:	Numerical

CorrectChoicesMatched contains the number of responses with a status of Correct that the user matched in the current interaction. Use CorrectChoicesMatched@"IconTitle" to get the value for a specific interaction.

Example:

These variables can be used to summarize users' performance in an interaction. If users are matching the same wrong responses, you may need to give them more direction or redesign the interaction.


CurrentPageID

Type:	Numeric

CurrentPageID contains the icon ID of the currently displayed framework page. If no page is displayed, this variable contains 0. CurrentPageID@"framework" contains the icon ID of the last page displayed by the framework, or 0 if framework has not displayed any pages.

Example:

Use CurrentPageID to allow users to add pages to a running list and return to them later.

Each time the user adds a page, insert the value of CurrentPageID to a running list:

bookmark := InsertLine(bookmark,0,CurrentPageID)

When the user is ready to go back to the last marked page, use a calculation icon that gets the last page added and then removes it from the list:

mark := GetLine(bookmark,1)

bookmark := DeleteLine(bookmark,1)

Then use a navigate icon to jump to the page identified by the variable mark.


CurrentPageNum

Type:	Numeric

CurrentPageNum contains the number of the last page displayed in the current framework icon or 0 if no page is displayed. Use CurrentPageNum@"framework" to get the value for a specific framework icon.

Pages are numbered from left to right beginning with 1. The number of the rightmost page is contained in the variable PageCount.

Example:

Use CurrentPageNum to prevent wraparound paging in a framework. When a framework reaches the last page, it wraps back to the first page of the framework.

To make the Next page button unavailable when displaying the last page of a framework, place the following statement in the Active If field of the button:

CurrentPageNum<PageCount

To prevent wraparound paging from the first page to the last, place this statement in the Previous page button:

CurrentPageNum>1


CursorX, CursorY

Type:	Numerical

CursorX contains the number of pixels from the left edge of the presentation window to the current cursor position. CursorY contains the number of pixels from the top of the presentation window to the current cursor position. The top of the presentation window is usually the upper left corner below the title bar. However, on Windows computers, if Overlay Menu is turned off and the menu is showing, the top is the upper left corner below the menu bar.

Example:

If the user doesn't respond within a certain length of time or responds incorrectly, use the values of CursorX and CursorY to determine where the user is placing the cursor on the screen and give feedback accordingly.


Date

Type:	Numerical

Date contains the current date in numerical format (06/26/97). The date settings on the user's computer determine the exact format of the variable. The format will vary from one location to another.

Example:

Date is useful for labeling information you're writing to an external file, such as test results. When you write a user's results to a file, include the user's name and the current date.


Day

Type:	Numerical

Day contains the number of the current day of the month, from 1 to 31.

Example:

Embed Day in display text or use it with the DateToNum system function to calculate past and future dates.


DayName

Type:	Character

DayName contains the name of the current day of the week.

Example:

You can embed DayName in display text or use it to display different information to the user depending on what day of the week it is.


DirectToScreen

Note: You can assign a value to this system variable.

Type:	Logical

DirectToScreen@"IconTitle" is true if the property of IconTitle is set to draw direct to the screen. Use DirectToScreen to change the property of an icon during presentation. In author mode you can set the Direct to Screen property in the Properties dialog box for an icon.

Example:

DirectToScreen@"IconTitle" := TRUE sets the property to true for IconTitle.


DiskBytes

Type:	Numerical

DiskBytes contains the amount of space, in bytes, available on the disk containing the current file.

Example:

Use this variable to check the amount of space available on the user's disk and display a warning message if it becomes too low.

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this variable.


Display variables
DisplayHeight, DisplayLeft, DisplayTop, DisplayWidth, DisplayX, DisplayY

Type:	Numerical

These variables contain size and position information for objects displayed in an icon. Use "@IconTitle" to reference a value at a specific icon. Authorware reports these values in pixels and measures them from the window origin (0,0) to the edge of the bounding box that contains all the objects in the icon. The window origin is usually the upper left corner below the title bar. However, on Windows computers, if Overlay Menu is off and the menu is showing, 0,0 is the upper left corner below the menu bar.

DisplayTop contains the distance between the top of the objects and the top edge of the presentation window; DisplayLeft contains the distance between the left side of the objects and the left edge of the presentation window. DisplayX contains the distance from the center of the objects to the left edge of the presentation window; DisplayY contains the distance from the center of the objects to the top of the presentation window. DisplayWidth and DisplayHeight contain the dimensions of the objects.

Example:

To simplify updating, use these variables instead of defining fixed positions and dimensions for your displays. They are also handy for positioning touch areas over objects.


DoubleClick

Type:	Logical

DoubleClick is true if the last mouse click (left mouse click on Windows) was a double-click.


Dragging

Type:	Logical

Dragging@"IconTitle" is true if the user is dragging the display in the specified icon.

Example:

Use Dragging to synchronize events, such as playing a sound while the user drags an object.


e

Type:	Numerical

e is the transcendental constant used as the base for natural logarithms (2.718281828459).

Example:

Use this variable in an exponential calculation:

Result:= 75 * e**3.2


ElapsedDays

Type:	Numerical

ElapsedDays contains the number of days since the user last used the piece. If the file is set to Restart, this variable always returns zero.

Example:

Use this variable to track the number of days between a user's sessions andthen compare the users' performance based on the amount of time between sessions. You could also automatically give users a review if ElapsedDays was greater than a certain number, such as 7.


EntryText

Note: You can assign a value to this system variable.

Type:	Character

EntryText contains the text of the user's last response in the last interaction. Use EntryText@"IconTitle" to get the text of the user's response at a specific interaction.

EntryText is set when any response on the interaction is triggered. EntryText is updated even if the user doesn't trigger the text entry response. You can thus make decisions or judgments about what the user types even before the user presses the key that enters the response. EntryText is not updated when the user triggers a perpetual response that has Return branching.

If you assign a new value to EntryText in a response icon that has Continue branching, the new value is used in comparisons with the remaining anticipated responses.

Example:

Use this variable whenever you need to use the user's text response. EntryText is commonly used to capture data such as the user's name. Once the user has entered some text, you can assign it to another variable:

UserName := EntryText


EvalMessage

Type:	Character

EvalMessage contains an error message about a syntax error resulting from the last call to the Eval or EvalAssign system function. If no syntax error occurred, EvalMessage is empty.

Example:

See the Eval system function.


EvalStatus

Type:	Numerical

EvalStatus contains the status returned by the last call to the Eval or EvalAssign system function.

Example:

See the Eval system function.

Status	Means	Status	Means
0	ok	17	need function call or assignment
1	expression too long (limit is 409 bytes)	18	internal error
2	token too long (limit is 409 bytes)	19	expected an expression
3	unterminated string (missing quotation mark)	20	not used
4	unknown operator or illegal character (such as #, !, or %)	21	undefined function
5	syntax error	22	undefined variable
6	incorrect use of operator	23	icon title used with @ doesn't exist
7	incorrect format of Test statement	24	can't use @ symbol with this system variable
8	missing right parenthesis	25	can't use @ symbol with custom variables
9	missing left parenthesis	26	icon title used with @ isn't unique
10	expression too complex	27	variable or function name too long
11	memory full	28	can't use @ symbol to reference a reserved icon title (like "untitled")
12	assignment not allowed	29	too few function arguments
13	need assignment operator	30	function can't be embedded
14	missing operand	31	system variable or function isn't available in this version
15	too many function arguments	32	can't use @ symbol in libraries
16	function parameter must be a variable name


EventLastMatched

Type:	Character

EventLastMatched contains a property list for the Xtra event matched at the last event response. Use EventLastMatched@"IconTitle" to get the value from a specific event response or a specific interaction. EventLastMatched uses the following syntax:

[#_Sender:number, #_SenderXtraName:"XtraIconTitle", #_SenderIconID:IconID,Â
#_EventName:"event", #_NumArgs:number, #property:number, ..., #property:number]

#_Sender is a number generated internally from the ActiveX control. #_SenderXtraName is the name you assigned to the Xtra icon, preceded by "Xtra." #_SenderIconID is the icon ID number of the Xtra icon. #_EventName is the name of the event that triggered the event response. #_NumArgs is the number of arguments the event returns. Following the number of arguments are any properties returned by the Xtra and their values; this may include data on the position of a user's click, the state of a key on the keyboard, or other information about the event.

Example:

EventLastMatched might look like this for a typical event:

[#_Sender:8662796, #_SenderXtraName:"Xtra Button Control", #_SenderIconID:65543,Â
#_EventName:"MouseDown", #_NumArgs:4, #Button:1, #Shift:0, #X:21, #Y:15]


EventQueue

Type:	Character

EventQueue contains a list of all pending unprocessed external events sent by Xtras in order of arrival.


EventsSuspended

Note: You can assign a value to this system variable.

Type:	Numerical

When EventsSuspended is greater than zero, Authorware prevents all event responses from interrupting the current flow and saves all events in the EventQueue. When EventsSuspended is zero, Authorware processes the pending events.

While you can assign a value to EventsSuspended, it is best to use the Suspend Events checkbox in the Response Properties dialog box, which automatically increments and decrements EventsSuspended upon entry and exit from an event response.

Example:

Use EventsSuspended to prevent any perpetual event responses from interrupting the execution of the current icon.


ExecutingIconID

Type:	Numerical

ExecutingIconID contains the identification number assigned to the icon currently being executed.

Don't store an icon's literal ID for future use. The value may change when you edit, save, or package a piece.

Tip: 	IconID contains the ID of the icon in which it appears.


ExecutingIconTitle

Type:	Character

ExecutingIconTitle contains the title of the icon currently being executed, including comments.

Tip: 	IconTitle contains the title of the icon in which it appears.


FileLocation

Type:	Character

FileLocation contains the path to the folder that contains the current file. This provides an easy method for specifying file locations in functions that require a path, such as the functions in the Jump and File categories.

FileLocation uses the following syntax:

Windows	"drive:\directory1\directory2\" "C:\Apps\Graphics\"
Macintosh	"drive:folder1:folder2:" "Hard disk:Applications:Graphics:"
Example:

This example shows how to use the system variable FileLocation to specify the location of a text file:

template := ReadExtFile(FileLocation^"datatemp.txt")

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this variable.


FileName

Type:	Character

FileName contains the name of the current file, without the path.

Note: This differs from the system variable FileTitle, which contains the title you assign in the File Setup dialog box.


FileNameType

Note: You can assign a value to this system variable.

Type:	Numerical

FileNameType contains the number specifying the format of filenames returned by system functions and variables. This variable is relevant only in Windows 95 or Windows NT. The Windows Names option you choose in the File Properties dialog box governs the Authorware file until you assign a different value for FileNameType in a calculation icon. FileNameType can have the following values:

0	DOS filenames (8 characters plus 3-character extension)
1	Long filenames (up to 255 characters)


FileSize

Type:	Numerical

FileSize contains the current size of the file in bytes. This value changes as you make changes to the file while you're authoring; it may also change when you save the file.

Example:

Use FileSize while you're authoring to check the effect of adding elements such as large sounds or graphics, especially if you're trying to limit your application to a certain size.


FileTitle

Type:	Character

FileTitle contains the title of the file as set up in the File Properties dialog box. FileTitle appears in the title bar of a packaged piece.

Example:

Use FileTitle to display the title to the user in an introductory screen.


FirstDate

Type:	Character

FirstDate contains the first date the user ran the current file. If you set the File Properties to Restart On Return, FirstDate always contains the date on which the current session started. The date settings on the user's computer determine the exact format of the variable. The format will vary from one location to another.

Example:

Use this variable to display summary information to the user. After the user completes a piece, for instance, display a report showing performance data, FirstDate, and TotalTime.


FirstName

Note: You can assign a value to this system variable.

Type:	Character

FirstName contains the user's first name from the system variable UserName. Anytime you assign a string to UserName, Authorware assigns to FirstName either the first word or, if the string contains a comma, the first word after the comma. Authorware automatically capitalizes the first letter of the word when assigning the value from UserName to FirstName.

You can also assign a value to FirstName, overriding the value from UserName. Authorware does not capitalize the first letter when you assign a value to FirstName.

Example:

Embed FirstName in text objects to personalize your piece for the user.


FirstTryCorrect, FirstTryWrong

Note: You can assign a value to these system variables.

Type:	Numerical

FirstTryCorrect contains the total number of correct responses the user made on the first response to judged interactions in the file. FirstTryWrong contains the total number of wrong responses the user made on the first try.

Each time the user matches a response set to Correct on the first try, FirstTryCorrect increases by 1. FirstTryCorrect doesn't increase if the user enters the correct response on a subsequent try. Likewise, each time the user matches a response set to Wrong on the first try, FirstTryWrong increases by 1. In both cases, if the user returns to the interaction from some other point in the file, Authorware counts the user's first response to the interaction again. If you set the file to Restart, Authorware initializes both variables when the file starts.

Although Authorware automatically tracks this information throughout the presentation of a file, you can also assign data to these variables. This is useful for special cases in which it is impossible or inconvenient to assign a correct or wrong status to a response-for example, in a complex logic structure with interactions embedded in further interactions and decisions.

Example:

To derive a percent figure for the FirstTryCorrect and FirstTryWrong responses, divide the value of each variable by the number of judged responses and multiply by 100.

CorrectOnFirstTry := FirstTryCorrect/JudgedResponses*100

WrongOnFirstTry := FirstTryWrong/JudgedResponses*100


ForceCaps

Note: You can assign a value to this system variable.

Type:	Logical

When you set ForceCaps to true, Authorware converts all text the user types in the current interaction's text response to uppercase letters. Use ForceCaps@"IconTitle" to convert the user's text at a specific interaction.

Tip: 	You can use the UpperCase system function to convert a string to uppercase.


FullDate

Type:	Character

FullDate contains the current day and date in long form, which includes the day of the week, the month, the day of the month, and the year. The date settings on the user's computer determine the exact format of the variable. The format will vary from one location to another.


FullTime

Type:	Character

FullTime contains the current time in long format, which includes hours, minutes, and seconds. The time settings on the user's computer determine the exact format of the variable.

Example:

To show the current time on screen, embed FullTime in display text and set Update Displayed Variables in the Icon Properties dialog box.


GlobalTempo

Note: You can assign a value to this system variable.

Type:	Numerical

GlobalTempo contains the rate at which sprite Xtras receive step events, in steps per second.

Note: Not all Xtras can receive step events.


HotTextClicked

Note: You can assign a value to this system variable.

Type:	Character

HotTextClicked contains the last hot text that a user triggered. You must define your hot text style with Single Click, Double Click, or Cursor Within as the action that triggers the hot text.


Hour

Type:	Numerical

Hour contains the current hour of the day, 0 to 23.


IconID

Type:	Numerical

IconID contains the unique numerical identifier of the icon in which it appears. Use IconID@"IconTitle" to get the ID of a specific icon.

Do not store an icon's literal ID for future use. The value may change when you edit, save, or package a piece.

Tip: 	If you want the ID of the icon that Authorware is currently executing, use ExecutingIconID.


IconLog

Note: You can assign a value to this system variable.

Type:	Numerical

IconLog contains the number of icons Authorware stores in its icon log. If you set this number to a value greater than zero, Authorware adds each title and ID to a list as it executes them. Retrieve information from the list by using the system functions IconLogTitle and IconLogID. You can assign a value up to 100; 0 means that no icons are being logged.


IconTitle

Type:	Character

IconTitle contains the title of the icon in which it appears. Because you can change the value of IconTitle by changing the name of an icon, it's a useful tool in creating reusable logic.

Example:

Use IconTitle to assign times to wait icons by placing IconTitle in the Time Limit field of the Wait Icon Properties dialog box. To change the time of the wait, just enter a new number for the icon's title.


IOMessage, IOStatus

Type:	IOMessage is Character
IOStatus is Numerical

The IOStatus and IOMessage variables contain status information about the most recent input/output (I/O) system function performed. I/O functions include WriteExtFile, ReadExtFile, AppendExtFile, CreateFolder, DeleteFile, and RenameFile.

If there was no error IOMessage contains "no error" and IOStatus is zero. The computer's operating system defines all other values, and they may vary in cross-platform applications.

Example:

Use these variables at run time to verify the success of a file operation and to alert a user if it was unsuccessful. Insert a decision structure after the file operation, and put IOStatus in the To Calculated Path field of the Decision Icon Properties dialog box. If IOStatus does not equal zero, an error occurred and the first path is taken. You can then display the IOMessage for the user and provide options for quitting or recovering.


JudgedInteractions

Note: You can assign a value to this system variable.

Type:	Numerical

JudgedInteractions contains the number of judged interactions the user has encountered in the file. Authorware considers an interaction judged if any of the interaction's responses is set to Correct or Wrong.

Authorware increments JudgedInteractions every time it encounters a judged interaction, even if the user has encountered the interaction previously. If the file is set to Restart, JudgedInteractions is reset to zero when the user runs the file again.

Example:

See the example for the system variable TotalCorrect.


JudgedResponses

Note: You can assign a value to this system variable.

Type:	Numerical

JudgedResponses contains the number of user responses to all judged interactions encountered in the file. Authorware considers an interaction judged if any of the interaction's responses is set to Correct or Wrong.

Authorware increments JudgedResponses each time the user responds to a judged interaction-even if the user has responded to the interaction previously or the response the user matches is set to Not Judged. If the file is set to Restart, JudgedResponses is reset to zero when the user runs the file again.

Example:

See the example for FirstTryCorrect.


JudgeString

Note: You can assign a value to this system variable.

Type:	Character

Assign a value to JudgeString to force Authorware to trigger a text response in the current interaction that matches the contents of JudgeString. Authorware clears the contents of JudgeString once any response is matched, unless it is set to Continue branching.

If you assign a value to JudgeString in a response icon and set branching to Try Again, Authorware uses the contents of JudgeString as the next user response to the interaction.

Example:

Use JudgeString to present certain icons. If the user doesn't respond correctly after a certain number of tries or amount of time, set JudgeString to match the correct response. This forces the interaction to present the icons attached to the correct response, and users can see what would have happened if they had entered the correct text.


Key

Type:	Character

Key contains the name of the last key the user pressed, such as h, H, Delete, 9, or Enter.


KeyboardFocus

Type:	Numerical

KeyboardFocus contains the icon ID of the icon that currently has the focus for keyboard input. Use the system function SetKeyboardFocus to set this.


KeyNum

Type:	Numerical

KeyNum contains a numeric code representing the last key the user pressed.

Tip: 	To find out the code number for each key, embed KeyNum in a display.


LastLineClicked

Type:	Numerical

LastLineClicked contains the line number from the last time the user clicked a line of text in a text object.

Authorware sets the system variable LineCliked to zero if the object the user clicks is not a line of text. However, LastLineClicked always retains the number of the last time the user clicked a line of text

Example:

Display lines of text in an interaction and use LineClicked and LastLineClicked to retrieve the text that the user clicked:

TextSelected := GetLine(TextObject, LineClicked)


LastObjectClicked

Type:	Character

LastObjectClicked contains the title of the last object the user clicked. When the user clicks an object, both LastObjectClicked and ObjectClicked contain the same value. However, if the user then clicks the presentation window background instead of an object, ObjectClicked contains an empty (null) string, while LastObjectClicked still contains the name of the display the user clicked earlier.

Example:

You can use ObjectClicked to give users feedback before they move an object they've clicked. When the user clicks an object, display a message such as "Now drag {ObjectClicked} to its proper position."


LastSearchString

Type:	Character

LastSearchString contains the last search string passed to FindText or typed in the Find Word/Phrase dialog box.

Example:

Use this variable to prevent the user from conducting the same search twice.


LastWordClicked

Type:	Character

LastWordClicked contains the word the user clicked in a text object. When the user clicks a word, both LastWordClicked and WordClicked contain the same value. However, if the user then clicks something else, WordClicked contains an empty (null) string, while LastWordClicked still contains the word the user clicked earlier.

Example:

This example shows how you could use LastWordClicked to create a grammar quiz.

The user sees the question "I gave him three dollars" and the instruction "Click the noun." The first response is a hot spot over the sentence with an empty map so the user can click on each part of the sentence. The three conditional responses are set up to with the following statements in the Match If True field of the Response Properties dialog box:

LastWordClicked := "dollars"

LastWordClicked := "I" |="him"

LastWordClicked := "gave" |="three"


LastX

Note: You can assign a value to this system variable.

, LastY*

Type:	Numerical

The LastX and LastY variables contain the last x and y coordinates drawn by a graphics function.

Example:

Use these variables to draw graphics on the screen in relation to one another. For example, the Line system function draws a line on the screen from the x1 and y1 screen coordinates to the x2 and y2 coordinates you specify. To connect a new line with a previous one, use the LastX and LastY variables as the new x1 and y1 coordinates.

Line(2,100,100,200,200)

Line(2,LastX,LastY,400,400)


Layer

Type:	Numerical

Layer contains the layer number of the current screen object. Use Layer@"IconTitle" to get the layer number of a specific icon. You can assign a layer number in the Properties dialog box of the icon. To change the layer of an object during presentation use the LayerDisplay.

Tip: 	When setting up layers, use a variable in the layer field of the Properties dialog box. To change the layer later you need to change only the value of the variable.


LicenseInfo

Type:	Character

LicenseInfo contains the name and organization of the person licensed to use this copy of Authorware. You enter this information when you install Authorware on your system.


LineClicked

Type:	Numerical

LineClicked contains the number of the line the user clicked in a text object.

Authorware sets the system variable LineClicked to zero if the object the user clicks is not a line of text. However, LastLineClicked always retains the number of the last time the user clicked a line of text

Example:

Display lines of text in an interaction and use LineClicked and LastLineClicked to retrieve the text the user clicked:

TextSelected := GetLine(TextObject, LineClicked)


Machine, MachineName

Type:	Machine is Numerical
MachineName is Character

The Machine and MachineName variables contain information about the computer being used.

Machine	MachineName	Description
1	Macintosh	Macintosh Plus, SE, or Classic
2	Macintosh II	Macintosh or Performa system with color capability and a processor other than a 68000
3	IBM PC or compatible	IBM PC or compatible computer
5	Power Macintosh	Power Macintosh


MatchCount

Type:	Numeric

MatchCount contains the number of times the FindText function found a particular word.


MatchedEver

Type:	Logical

MatchedEver is true if the user has matched any response. Use MatchedEver@"IconTitle" to determine if the user matched a specific response icon.

Example:

Use MatchedEver to set the checked state of a button if the user has already viewed a section of the application:

Checked@"Topic 1 Check Box" := MatchedEver@"Topic 1"


MatchedIconTitle

Type:	Character

MatchedIconTitle contains the title of the last response icon the user matched. Use MatchedIconTitle@"IconTitle" to get the last response matched at a specific interaction. If the flow jumps to a perpetual response and returns, Authorware restores the value of MatchedIconTitle to the value it had before the jump.

Example:

Use this variable to track user responses and determine if you need to improve an interaction. Use this variable to create a list of every icon the user matches in an interaction and to check whether users are making common errors, always responding wrong on the first try, and so on.


MediaLength

Type:	Numerical

MediaLength contains the length of the movie, video, or sound specified in MediaLength@"IconTitle". Authorware reports the length of sounds in milliseconds and the length of movies and videos in frames. If you change the movie or sound at runtime, Authorware dynamically updates this variable.

Note: While CAV video is measured in frames, CLV video is measured in milliseconds.


MediaPlaying

Type:	Logical

MediaPlaying is true if the movie, video, or sound you specify with MediaPlaying@"IconTitle" is playing, paused, or under user control. The value is false if it has not started playing, has finished playing, or has been erased.

Example:

Use MediaPlaying to synchronize events by activating or deactivating icons, depending on whether MediaPlaying is true. Use MediaPlaying in the Begin field in the Sound Icon Properties dialog box to start a sound when a movie is playing.


MediaPosition

Type:	Numerical

The frame or time position of the movie, video, or sound specified in MediaPosition@"IconTitle". Authorware tracks the progress of sounds in milliseconds and tracks the progress of movies and videos in frames.

Note: While CAV video is measured in frames, CLV video is measured in milliseconds.


MediaRate

Type:	Numerical

MediaRate contains the playback rate, for the movie, video or sound specified by MediaRate@"IconTitle". Authorware reports the playback rate of movies in frames per second, sounds in percent of normal speed, and videos as a value from -5 to 5. If you change the movie, video or sound at runtime, Authorware dynamically updates this variable.


MemoryAvailable

Type:	Numerical

MemoryAvailable contains the amount of RAM available to Authorware, in bytes. This variable is similar to DiskBytes, which returns the amount of free disk space, in bytes.

The amount of memory required to run an Authorware piece varies depending on the icon Authorware is executing. For example, Authorware needs more memory when playing a movie than when displaying a simple graphic.

Example:

Use MemoryAvailable to check whether the amount of memory available to Authorware meets a threshold you specify. If it doesn't, you can display a warning to the user.


MiddleMouseDown

Type:	Logical

MiddleMouseDown is true if the user is pressing the middle mouse button. On Macintosh the value of MiddleMouseDown is always false.


Minute

Type:	Numerical

Minute contains the current minute of the hour, 0 to 59.


Month

Type:	Numerical

Month contains the current month number, from 1 to 12.


MonthName

Type:	Character

MonthName contains the name of the current month.


MouseDown

Type:	Logical

MouseDown is true if the user is pressing the left mouse button (Windows) or the mouse button (Macintosh).


Movable

Note: You can assign a value to this system variable.

Type:	Logical

Movable@"IconTitle" is true if the user can move the object displayed by the specified icon. You can assign true or false to this variable to make any display movable or immovable.

By default, the user cannot move objects in a packaged application, unless you make them movable through the icon's Properties dialog box or they're part of a target area interaction. You can move all displayed objects while authoring. To avoid moving an object unintentionally during authoring, attach a calculation to the icon you want to make immovable and enter the following expression:

Movable := FALSE


MoviePlaying

Type:	Logical

MoviePlaying is true if a movie is playing.

Note: This variable has been replaced by MediaPlaying, but it is still supported.


Moving

Type:	Logical

Moving@"IconTitle" is true if the display in the specified icon is being moved by a motion icon or dragged by the user.

Example:

Like the Animating and Dragging variables, Moving is useful for synchronizing events.


NavFrom

Type:	Numeric

Use NavFrom in the exit pane of a framework icon. When a navigate icon or hot text jumps to a page outside of a framework where NavFrom appears in the exit pane, NavFrom contains the ID of the page you're leaving. The variable never gives the ID of an icon that isn't directly attached to the framework where the variable appears. This design permits each framework to be a self-contained module, independent of the logic of other frameworks.

When a navigation structure contains nested frameworks, it's possible to jump out of two or more frameworks at once. The NavFrom variable changes as follows: First, Authorware sets NavFrom to the ID of the page you're leaving, then to the ID of the page that contains the nested framework. This process continues until Authorware reaches the destination page.


Navigating

Type:	Logical

Use Navigating within the entry or exit pane of a framework icon to determine whether a jump or call to a page in a different framework is under way.

Navigating is true when:

•	Authorware passes through the entry pane of a framework icon, in the process of jumping from outside the framework to a page within the framework

•	Authorware passes through the exit pane of a framework icon, in the process of jumping from a page within a framework to an icon outside the framework.

Navigating is false the rest of the time, including when:

•	Authorware passes through the entry pane of a framework icon, as it follows the flowline from the icon immediately preceding the framework icon to the first page within the framework

•	Authorware passes through the exit pane of a framework icon, as it exits a framework after encountering a navigate icon or hot text set to Exit Framework/Return.

Whenever Authorware jumps to a page in another framework, it passes through the exit pane of the framework it's leaving and the entry pane of the framework it's jumping to. Whenever Authorware calls a page in another framework, it passes through the entry pane of the framework it's calling, but not the exit pane of the framework it's leaving; when it returns from the call, it passes through the exit pane of the framework that it called.


NavTo

Type:	Numeric

Use NavTo in the entry pane of a framework icon. When a navigate icon or hot text jumps to a page in a framework where NavTo appears, NavTo contains the ID of the destination. If Authorware drops into the framework from the icon above it on the flowline, NavTo is zero.

When a navigation structure contains nested frameworks, it's possible to jump into two or more frameworks at once. The NavTo variable changes as follows: First, Authorware sets NavTo to the ID of the destination page in the current framework. Once inside that page, Authorware sets NavTo to the ID of the destination page for the next layer down. This process continues until Authorware reaches the destination page.


NetConnected

Type:	Logical

NetConnected is true if Authorware is running a piece with the Authorware Shockwave Plug-In. If Authorware is running the piece in the authoring environment or with RunA4W or RunA4M, the NetConnected is false.

Example:

Use NetConnected within your piece to display different icons or external media, depending on whether the piece is running under Shockwave. This statement determines which external graphic Authorware displays:

if NetConnected then

graphic := NetLocation^"SmallPhoto.jpg"

else

string := FileLocation^"LargePhoto.bmp"

end if


NetLocation

Type:	Character

NetLocation contains the URL of the location that contains the current file. This provides an easy method for specifying file locations in functions that require a path, such as the functions in the Jump and File categories.

Example:

See the example for the system variable NetConnected.

Note: This variable returns a null string when not running with the Shockwave Plug-In.


NumCount

Type:	Numerical

NumCount contains the number of numbers in the user's last text entry. Use NumCount@"IconTitle" to get the value at a specific interaction. NumCount gets its value from the text stored in the EntryText variable. The first three numbers in a user's response are automatically assigned to variables NumEntry, NumEntry2, and NumEntry3.

Authorware interprets all nonnumeric characters except periods as the start of a new number.

Example:

If the user types 123456789, NumCount is 1.

If the user types 26,1,500XXX88, NumCount is 4.

If the user types .5,142-1, NumCount is 3.


NumEntry, NumEntry2, NumEntry3

Type:	Numerical

NumEntry contains the first number the user typed in a text entry interaction. Use NumEntry@"IconTitle" to get the first number at a specific interaction. NumEntry2 and NumEntry3 contain the second and third numbers the user types. NumEntry gets its value from the EntryText variable.

Authorware recognizes the end of a number when it encounters nonnumeric characters (except for periods). It stores the next number in EntryText as NumEntry2. Authorware assigns a minus sign (-) to a number it precedes as long as there are no spaces or other characters between the sign and the number.

Use these variables to sort information, extract numbers from text, and evaluate information that the user enters.

Example:

If the user types .5,142,-1, NumEntry contains .5, NumEntry2 contains 142, and NumEntry3 contains -1.


ObjectClicked

Type:	Character

ObjectClicked contains the title of the object the user clicked. When the user clicks an object, both ObjectClicked and LastObjectClicked contain the same value. However, if the user then clicks the presentation window background instead of an object, ObjectClicked contains an empty (null) string, while LastObjectClicked still contains the name of the display the user clicked earlier.

Example:

You can use ObjectClicked to give users feedback before they move an object they've clicked. When the user clicks an object, display a message such as "Now drag {ObjectClicked} to its proper position."


ObjectMatched, ObjectMoved

Type:	Character

ObjectMatched contains the title of the last display icon matched in a movable object interaction. Use ObjectMatched@"IconTitle" to get the value for a specific interaction.

ObjectMoved contains the title of the last display icon the user moved, even if it didn't match a response icon.

Example:

If you use the Accept Any Object option for target area response, you can use ObjectMatched to check which object the user moved into the target area. Use ObjectMoved to handle cases in which the user moved an object but didn't move it into the target area.


OptionDown

Type:	Logical

OptionDown is true if the user is pressing the Option key (Macintosh) or the Alt key (Windows). Use AltDown when authoring on Windows.


OrigWorkingDirectory

Type:	Character

OrigWorkingDirectory contains the path of the working directory when you run a file. Like FileLocation, Authorware sets OrigWorkingDirectory; you can't assign it a value.

When jumping from one Authorware piece to another with JumpFile or JumpFileReturn, the value of OrigWorkingDirectory remains the same from file to file. When using JumpOut or JumpOutReturn to another Authorware piece, the OrigWorkingDirectory for that piece is the current file location.

If another application launches an Authorware piece, that application may set the working directory, which will affect the OrigWorkingDirectory of the Authorware piece.

Example:

Use OrigWorkingDirectory to provide the path to your starting point no matter what the FileLocation of the current piece.

Tip: 	Under Windows 95, you can set the working directory for a program by creating a shortcut and entering a path in the Start in field of the shortcut's Properties dialog. box

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this variable.


OSName, OSNumber

Type:	OSName is Character
OSNumber is Numerical

OSName contains the name of the class of operating system-Macintosh or Microsoft Windows. OSNumber contains its corresponding number: 1=Macintosh, 3=Windows.


OSVersion

Type:	Character

OSVersion contains the version of the operating system. OSVersion is more specific than OSName or OSNumber, but its value changes with each revision of the operating system.

Example:

"MacOS System Software 7.5.1"
"System Software 7.1"
"Windows 3.1"
"Windows 95 (4.0)"
"Windows NT (3.51)"

Tip: 	If you simply want to distinguish between Windows and the Macintosh, use OSNumber or OSName. Using the Machine, MachineName, or OSVersion variables could require changes in your expressions as new versions of operating systems and computers appear. For example, if you previously used Machine <3 to determine if your piece was running on a Macintosh, this expression would no longer be valid for the Power Macintosh, which has a Machine value of 5. The OSNumber value for all Macintosh computers is 1, for all Windows computers it is 3.


PageCount

Type:	Character

PageCount contains the number of pages attached to the current (or most recent) framework. Use PageCount@"FrameworkIconTitle" to get the number of pages attached to a specific framework icon.

Example:

See CurrentPageNum.


PathCount

Type:	Numerical

PathCount contains the number of icons attached to the current decision icon. Use PathCount@"IconTitle" to get the value at a specific decision icon.


PathPosition

Type:	Numerical

PathPosition@"IconTitle" contains the position of the display in the specified icon in relation to the grid, if it has been positioned on a path. Position displays along paths with the motion icon options or the icon's Properties dialog box.

Example:

Use PathPosition in a Motion Icon Properties dialog box to move one object based on where the user positions another.


PathSelected

Type:	Numerical

PathSelected contains the number of the last path selected in the current decision. Use PathSelected@"IconTitle" to get the last path selected at a specific decision icon.

Authorware numbers paths from left to right beginning with 1. (The number of the rightmost path is equal to PathCount.)


PathType

Note: You can assign a value to this system variable.

Type:	Numerical

PathType controls the format of pathnames returned by system functions and variables. Authorware uses this variable only on Windows 95 and Windows NT, and only when referring to network paths, not paths on a hard drive.

PathType can have one of two values: 0 for drive-based, 1 for Universal Naming Convention (UNC).

UNC pathnames allow you to specify a network path including the name of the server without using a drive letter: \\main server\cbt\course.a3w. This is more flexible than using a drive letter, which can vary from one computer to another, but it is not available on all network types. You can also set the Windows Paths type in the File Properties dialog box.


PercentCorrect, PercentWrong

Type:	Numerical

PercentCorrect contains the percentage of all judged responses that were judged correct. PercentWrong contains the percentage of all judged responses that were judged wrong.

Example:

Use these variables to calculate and display the user's overall performance.


Pi

Type:	Numerical

Pi is the ratio of a circle's circumference to its diameter (3.1415926536).


PositionX, PositionY

Type:	Numerical

PositionX and PositionY contain the horizontal and vertical positions of the display in relation to the grid, if it has been positioned or moved in an area. Use PositionX@"IconTitle" and PositionY@"IconTitle" to get values for a specific icon.

Example:

Embed these variables in a display to give users feedback while they position an object.


PresetEntry

Note: You can assign a value to this system variable.

Type:	Character

The string you assign to PresetEntry appears automatically in the next text entry field. The user can add to this text, edit it, or delete it. This is useful for providing default selections, creating sentence completion questions, and displaying hints.

If you assign text to PresetEntry in a response icon that is set to Try Again branching, Authorware displays the contents of PresetEntry to the user before executing the next response icon.

Example:

In a log on sequence, where the default log on is "Guest," attach a calculation icon to the interaction with the following expression:

PresetEntry := "Guest"


PreviousMatch

Type:	Logical

PreviousMatch@"IconTitle" is true if the specified response icon was the last response the user matched.

Example:

Use PreviousMatch to provide users with feedback dependent on their last choice. For instance, if the user is about to exit the interaction and the last action was clicking a Help button, require the user to respond to the interaction again before exiting.


RecordsLocation

Type:	Character

RecordsLocation contains the full pathname of the folder that holds user records. This is the default RecordsLocation:

Windows	"C:\WINDOWS\A4W_DATA\"
Macintosh	"Hard disk:System:Preferences:RunA4M Data:"
You can only change the location of the records directory with the third argument of the JumpFile and JumpFileReturn functions.

Example:

This example shows how to use the system variable RecordsLocation to specify the location of a text file:

template := ReadExtFile(RecordsLocation^"datatemp.txt")

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this variable.


RepCount

Type:	Numerical

RepCount contains the number of times Authorware has repeated the current decision. RepCount refers to the current decision icon. You must use it within the decision loop structure. Use RepCount@"IconTitle" to get the value for a specific decision icon.


ResponseHeight

Type:	Numerical

ResponseHeight contains the height in pixels of the last button, hot spot, hot object, target area, or text entry response. Use ResponseHeight@"IconTitle" to get the height of a specific response.

Example:

Use this variable along with ResponseWidth, ResponseLeft, and ResponseTop to ensure that a response area is the same size and in the same position throughout your file.


ResponseLeft

Type:	Numerical

ResponseLeft contains the distance in pixels between the left edge of the presentation window and the left edge of the last button, hot spot, hot object, target area, or text entry response. Use ResponseLeft@"IconTitle" to get the value for a specific response.

Example:

Use this variable along with ResponseWidth, ResponseHeight, and ResponseTop to ensure that a response area is the same size and in the same position throughout your file.


ResponseStatus

Type:	Numerical

ResponseStatus contains the status of the first judged response the user matched in the last interaction. Use ResponseStatus@"IconTitle" to get the status of a specific interaction.

ResponseStatus can contain: 0=Not Judged, 1=Correct, and 2=Wrong. ResponseStatus changes only when the user matches a judged response icon. Once the user matches a judged response, ResponseStatus does not change again in that interaction.

Example:

Use ResponseStatus to track a user's initial response. In some interactions you may want to let the user experiment by responding in other ways. For instance, if the user correctly moves an object into one of the target areas you've set up (ResponseStatus=1), display a message such as, "That's right. Now see what happens when you move the part somewhere else."


ResponseTime

Type:	Numerical

ResponseTime contains the number of seconds it took the user to respond to an interaction. Use ResponseTime@"IconTitle" to get the value at a specific interaction.

For the user's first response, Authorware measures from the time when the user entered the interaction; thereafter Authorware resets the value to zero and measures from the previous response.

Example:

Use this variable to decide which information to display based on how quickly a user responds by setting the To Calculated Path field of a decision icon. The following statement sends the flow down path 1 if the user responded in less than ten seconds or less, path 2 if the response took more than ten seconds:

Test(ResponseTime>10, 1,2)


ResponseTop

Type:	Numerical

ResponseTop contains the distance in pixels between the top of the presentation window and the top of the last button, hot spot, hot object, target area, or text entry response. Use ResponseTop@"IconTitle" to get the value for a specific response.

Note: On Windows computers, if Overlay Menu is off and the menu is showing, the bottom of the menu bar acts as the top of the presentation window.

Example:

Use this variable along with ResponseHeight, ResponseWidth, and ResponseLeft to ensure that a response area is the same size and in the same position throughout your file.


ResponseType

Type:	Numerical

ResponseType contains a number that represents the response type of the last icon matched in an interaction. You can use ResponseType@"IconTitle" to get the response type of a specific response icon or the response type of the last response at an interaction.

ResponseType can contain any of the following numbers:

1	Entry text
2	Hot spot
3	Hot object
4	Pull-down menu
5	Keypress
6	Button
7	Conditional
8	Time limit
9	Tries limit
10	Clickable object
11	Event


ResponseWidth

Type:	Numerical

ResponseWidth contains the width in pixels of the last button, hot spot, hot object, target area, or text entry response. Use ResponseWidth@"IconTitle" to get the width of a specific response.

Example:

Use this variable along with ResponseHeight, ResponseLeft, and ResponseTop to ensure that a response area is the same size and in the same position throughout your piece.


Resume

Note: You can assign a value to this system variable.

Type:	Logical

Resume is true if you selected the Resume option in the File Properties dialog box. In that case, Authorware automatically returns to the location in the file where it quit to execute another file or application. If Resume is false, Authorware resumes its presentation at the last icon where Resume was true.

Note: If you select the Restart option in the File Properties dialog box, Authorware always restarts at the beginning of the file, regardless of the value of the Resume variable.

Example:

This example shows how to use Resume to start a presentation at an icon other than the first icon (assuming that the user quit the application and is now returning to it).

To do this, select the Resume On Return option in the File Properties dialog box. Then insert a calculation icon after the icon where you want to resume the presentation (when Authorware returns to the file) and enter the following statement:

Resume := FALSE

Authorware presents this piece from the beginning the first time, but starts from the Resume Title icon thereafter.


ResumeIcon

Note: You can assign a value to this system variable.

Type:	Numerical

Use ResumeIcon to specify a calculation icon for Authorware to execute when the user resumes a file. After executing the calculation icon, Authorware then returns to the icon at which the file was set to resume. To set ResumeIcon, use an expression such as the following, where "IconTitle" is the title of a calculation icon:

ResumeIcon := IconID@"IconTitle"

If the specified icon is not a calculation icon, Authorware ignores ResumeIcon. To clear ResumeIcon, set it to zero. You must select the Resume option in the File Properties dialog box for ResumeIcon to have any affect.

Example:

In some files you want users to resume where they left off, but you first need to initialize variables or read information from an external file for the piece to run properly. Use ResumeIcon to force Authorware to execute a calculation icon that performs these tasks before it returns to where the user left off.


Return

Type:	Character

Return contains a single Return character.

Note: You can put Tab and Return characters in a string by using \t for Tab and \r for Return.

Example:

Use this variable to insert line breaks when building a string. For instance, when you write character strings to a file, separate the strings with a Return.

WriteExtFile("RESULTS.TXT", Example1 ^ Return ^ Example2)


RightMouseDown

Type:	Logical

RightMouseDown is true if the user is pressing the right mouse button. On Macintosh the value of RightMouseDown is always false.


RootIcon

Type:	Numerical

RootIcon contains the icon ID of the highest level of logic in an Authorware file. The root icon is an implied map icon that contains the entire file.

Example:

This example returns the icon ID of the first icon on the flowline.

firstIcon := IconFirstChild(RootIcon)


ScreenDepth

Type:	Numerical

ScreenDepth contains the number of bits used to represent each screen pixel in display memory, based on the driver you installed. Common values are

•	1 bit for monochrome

•	4 bit for 16 colors

•	8 bit for 256 colors

•	16, 24, or 32 bit for thousands or millions of colors

Example:

Use ScreenDepth at the beginning of a file to determine whether the user's monitor is displaying graphics in the number of bits intended and, if not, to display a message prompting the user either to reset the number of colors in the Control Panel or to use a machine capable of displaying the correct number of colors.


ScreenHeight, ScreenWidth

Type:	Numerical

ScreenHeight and ScreenWidth contain the height and width of the user's monitor in pixels.

Use these variables with ResizeWindow and MoveWindow to position and size the presentation window in relation to the user's screen resolution.

Example:

See the example for the system function ResizeWindow.


SearchPath

Note: You can assign a value to this system variable.

Type:	Character

A search path is a list of folders separated by semicolons. The SearchPath is particularly useful when the computer on which your Authorware piece is running doesn't have the same folder structure as the computer on which you created it. When Authorware needs to locate an external file, it does so as follows:

•	During authoring, Authorware first looks in the location from which it originally loaded the file. This step doesn't occur at run time.

•	Next it looks in the directories specified in the variable SearchPath.

•	Next it looks in the directory containing the current Authorware file.

•	Next it looks in the directory containing the Authorware application file.

•	On Windows only, it finally looks in the Windows directory and in the Windows System directory.

•	On Macintosh only, it finally looks in the current default volume and working directory and in the current System Folder.

Note: If Authorware looks for an external movie and doesn't find it, it displays a File dialog box and prompts the user to locate the movie.

If Authorware looks for a DLL/XCMD and doesn't find it, it displays a message indicating the problem during authoring, and silently ignores the call at run time.

When starting a piece, Authorware initializes the value of SearchPath to the path you've entered in the Search Path field of the File Properties dialog box. Once your piece is running, you can assign values to SearchPath to make Authorware search different locations for external media, such as movies.

However, the value you enter in the Search Path field doesn't help Authorware locate libraries, since it searches for them before running the piece. If Authorware can't find a library it needs, it prompts the user for the location of the file.

You can assign a value to the initial search path that Authorware uses to look for a library by editing the A4W.INI file (in the Windows directory) or A4M.INI file (on the Macintosh it is in System Folder:Preferences). Often, developers use an installation routine to edit this file. Use the following format to set the search path for a specific file:

[ExactFileName]

SearchPath = path1; path2; ...; pathx

You can set the search path for all files by entering a SearchPath line under the Directory section:

[Directory]

SearchPath = path1; path2; ...; pathx

Note: Generally, on Windows a path uses the syntax DriveLetter:\directory\directory. On the Macintosh a path uses the syntax DriveName:folder:folder.

Example:

You couldset the search path of a file named money.exe like this:

[money.exe]

SearchPath=D:\movies; D:\library

When Authorware starts opening the piece, it checks the search path D:\movies;D:\library. Once the piece is running, Authorware concatenates this value of SearchPath to any value that you've entered in the File Properties Search Path field.

For example, if the Search Path field in the File Setup dialog box contains

C:\main

Authorware concatenates the initial value of SearchPath to the new value

C:\main; D:\movies; D:\library

Tip: 	A path that doesn't include a volume name or drive letter is called a relative path. In Authorware, all relative paths are relative to the directory that contains the Authorware file (available in the FileLocation variable). Relative paths are often useful when you are specifying search paths because they don't depend on volume names or drive letters. To go up the folder hierarchy use .. on Windows and :: on Macintosh. For example, if you want to use the images folder that is adjacent to the folder containing your authorware piece, set the search path to ..\\images on Windows or ::images on the Macintosh.

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this variable.


SearchPercentComplete

Type:	Numerical

SearchPercentComplete contains the completeness of the current search or last search as a percentage of the total. A value of 0 means that the piece has never called FindText, has never invoked the Find dialog box, or has just started the search. A value of 100 means the search is complete.

After a search has completed or stopped, the value of SearchPercentComplete doesn't change until a new search starts.

Example:

Use this variable to keep track of a search proceeding in the background. When Authorware completes the search, you can interrupt what the user is currently doing to display a dialog box listing the matches found.


Sec

Type:	Numerical

Sec contains the current second of the minute, 0 to 59.


SelectedEver

Type:	Logical

SelectedEver is true if Authorware has taken any path in the last decision icon. Use SelectedEver@"IconTitle" to find out if Authorware has previously taken any path at a specific decision icon or a specific path attached to a decision icon. Authorware sets the value of SelectedEver for a path upon exiting that path. Authorware sets the value of SelectedEver for a decision icon upon exiting that decision structure.

Example:

Use SelectedEver to make decisions based on whether a user has seen a particular icon. For instance, when a user exits a decision structure, display a summary of the information they saw.


SerialNumber

Type:	Character

SerialNumber contains the unique serial number assigned to the copy of Authorware you're using.


SessionHours

Type:	Numerical

SessionHours contains the duration of the current user session in hours and decimal fractions of an hour (not minutes). Authorware measures the time from when the user started the file.

Example:

Use SessionHours to track the amount of time a user spends in a piece. You can compare the times among different users.

Note: The TotalHours variable contains the total time the user spent in the file for all sessions.


Sessions

Type:	Numerical

Sessions contains the number of times the user has run the current file. If you have Restart On Return set in the File Properties dialog box, this value is always 1.

Example:

Use this variable to determine if a user needs additional information. If the user has run a help application ten times, for example, you can display a list of other help resources.


SessionTime

Type:	Character

SessionTime contains the duration of the current user session in hours and minutes. Authorware measures from the time the user started the file.

Example:

Display SessionTime to users when you've set a limit on how much time they can spend working on the piece:

You've been working on this project for {SessionTime}.


ShiftDown

Type:	Logical

ShiftDown is true when the user is pressing the Shift key.


SoundPlaying

Type:	Logical

SoundPlaying is true if a sound is playing.

Example:

Use SoundPlaying to play a sound concurrently with other events andmake sure that the sound is finished playing before moving to the next icon in the flowline.

To do this, insert a decision icon and attach a map icon. Leave the map icon empty. In the dialog box associated with the decision icon, select the Repeat option and enter SoundPlaying = false in the Until True field. When the condition is met, Authorware proceeds to the next icon.


StartTime

Type:	Character

StartTime contains the time the user began working on the file, in hours and minutes. The time settings on the user's computer determine the exact format of the variable.


SystemSeconds

Type:	Numerical

SystemSeconds contains the number of seconds since the computer was started or restarted.

Example:

This variable is useful for measuring elapsed time. Because it's a numerical value, you can use it in calculations.


Tab

Type:	Character

Tab contains a single Tab character.

Note: You can put Tab and Return characters in a string by using \t for Tab and \r for Return.

Example:

Use Tab to insert tabs (when concatenated in expressions). For instance, when you write character strings to a file, separate the strings with a Tab.

WriteExtFile("RESULTS.TXT", Example1 ^ Tab ^ Example2)


Time

Type:	Numerical

Time contains the current time in hours and minutes. The time settings on the user's computer determine the exact format of the variable.


TimeExpired

Type:	Logical

TimeExpired is true if the last decision icon exited its loop because its time limit expired. Use TimeExpired@"IconTitle" to get the value for a specific decision icon. The variable is false if the decision icon exited for some other reason or if it is still running.

Example:

Use this variable to select a path for users who fail to respond to a decision icon in time.


TimeInInteraction

Type:	Numerical

TimeInInteraction contains the total time the user spent in the last interaction (measured in seconds, including fractions expressed as decimals). Authorware measures this from the time the user enters the interaction until the user exits. Use TimeInInteraction@"IconTitle" to get the time spent at a specific interaction.

Example:

Use TimeInInteraction to track users' performance at different interactions throughout your piece.


TimeOutLimit

Note: You can assign a value to this system variable.

Type:	Numerical

TimeOutLimit contains the amount of time, in seconds, that Authorware waits for mouse or keyboard activity before jumping to the icon you specify in the TimeOutGoTo system function.

Example:

See the TimeOutGoTo function on page 517.


TimeOutRemaining

Type:	Numerical

TimeOutRemaining contains the amount of time, in seconds, left for Authorware to wait for any mouse or keyboard activity. Set the initial value using the TimeOutLimit variable. If the user does nothing within that time, Authorware jumps to the icon specified in the TimeOutGoTo system function.

Example:

See the TimeOutGoTo.


TimeRemaining

Type:	Numerical

TimeRemaining contains the number of seconds remaining for one of the following: an interaction with at least one time limit response attached; a time limit response; a decision icon; or a wait icon. Use TimeRemaining@"IconTitle" to get the number of seconds remaining at a specific icon.

If you refer to an interaction icon that has more than one time limit response attached, TimeRemaining refers to the shortest time limit.

Example:

Display the time remaining to the user by embedding this variable in a text object and updating it continuously.


TimesMatched

Type:	Numerical

TimesMatched contains the number of times the user matched the current response icon during this presentation of the piece. Use TimesMatched@"IconTitle" to get the number of times the user matched a specific response.

Example:

Use TimesMatched in an interaction in which two objects must be moved to their respective positions before the interaction is exited. In the following example, branching is set to exit when the user matches the conditional response.


TimesSelected

Type:	Numerical

TimesSelected contains the number of times (up to 255) that the last decision path has been selected. Authorware increments TimesSelected upon entering a path. When Authorware enters a decision structure or the value reaches 255, Authorware resets TimesSelected to 0. Use TimesSelected@"IconTitle" to get the value for a specific decision icon or a specific path on a decision icon.

Example:

Use TimesSelected to control or track how many times the flow takes a decision path. If the user sees an example twice and still doesn't answer a question correctly, you could drop out of the decision structure or give the user additional help.


TotalCorrect

Note: You can assign a value to this system variable.

Type:	Numerical

TotalCorrect contains the total number of correct responses the user made to all judged interactions in the file. To define whether an interaction is judged, select a status of Correct or Wrong for a response in its Response Properties dialog box. A plus (+) or minus (-) sign appears next to the icon's title.

Unlike FirstTryCorrect, this variable contains the total number of correct responses, not just those in the user's first try. If an interaction contains more than one correct response, Authorware increases TotalCorrect each time the user matches a correct response. If you selected the Restart option in the File Properties dialog box, Authorware resets FirstTryCorrect to zero when the user runs the file again.

Use these variables to track the user's performance automatically.

Example:

This example consists of three interactions set up as questions, each with a correct and a wrong response. As the user goes through each question, Authorware keeps track of several items, including the total number of questions that contain judged responses (stored in system variable JudgedInteractions), the total number of correct responses (stored in TotalCorrect), and the total number of wrong responses (stored in TotalWrong).

When Authorware exits the last interaction it encounters a display icon with two embedded variables that display the total number of correct answers and the total number of judged interactions.


TotalHours

Type:	Numerical

TotalHours contains the total amount of time the user spent in the file for all sessions, expressed in hours and decimal fractions of an hour (not minutes). If the file is set to Restart On Return, TotalHours equals SessionHours.

Example:

Use TotalHours to determine when a user is ready to move on to a more advanced piece or to be tested on the current one.


TotalTime

Type:	Character

TotalTime contains the total amount of time the user spent in the file in all sessions, expressed in hours and minutes. If the file is set to restart when the user returns to it, TotalTime equals SessionTime.

Example:

Use this variable to display summary information to the user. After the user completes a piece, for instance, display a report showing performance data, FirstDate, and TotalTime.


TotalWrong

Note: You can assign a value to this system variable.

Type:	Numerical

TotalWrong contains the total number of wrong responses. To define whether an interaction is judged, select a status of Correct or Wrong for a response in its Response Properties dialog box. A plus (+) or minus (-) sign appears next to the icon's title.

Unlike FirstTryWrong, this variable contains the total number of wrong responses, not just those in the user's first try. If an interaction contains more than one wrong response, TotalWrong increases each time the user matches an incorrect response. If you selected the Restart option in the File Properties dialog box, TotalWrong is reset to zero when the user runs the file again.

Example:

See the example for the system variable TotalCorrect.


Tries

Type:	Numerical

Tries contains the number of times the user matched a response in the current interaction. Use Tries@"IconTitle" to get the value at a specific interaction.

Example:

Use Tries to give users customized feedback based on how many times they've responded. On a user's first try offer a simple hint; on the second try offer additional help.


UserName

Note: You can assign a value to this system variable.

Type:	Character

Assign a value to UserName to store the user's full name. You can ask users to type their names in a text interaction andthen assign the value of EntryText to UserName.

When you assign a string to UserName, Authorware assigns either the first word or, if the string contains a comma, the first word after the comma to FirstName. Authorware automatically capitalizes the first letter of the word when assigning the value from UserName to FirstName.

Example:

Use UserName to create external files that are named with the user's name. The following example first assigns the user's response to UserName and then writes a string to a file named with UserName:

UserName := EntryText@"TypeFullName"

WriteExtFile(UserName ^ ".txt",TestData)


Version

Type:	Character

Version contains the version number of the copy of Authorware you're using.


VideoDone

Type:	Logical

VideoDone is true if the current video sequence has finished playing.

Example:

Use this variable for synchronizing events. Insert VideoDone in a condition field such as Play Until True in the Sound Icon Properties dialog box. To finish a video sequence before moving on to other icons, set up a conditional response interaction that triggers when VideoDone becomes true.


VideoFrame

Type:	Numerical

VideoFrame contains the number of the current video frame playing on an attached video device.

Example:

Use VideoFrame when you want an action to take place only when a specific frame of the video is showing. Synchronize the display of text and video by using conditional responses that are activated by specific VideoFrame values.


VideoResponding

Type:	Logical

VideoResponding is true when Authorware establishes communication with the selected video device.

Example:

VideoResponding is useful when your users may or may not have video hardware connected to their systems. Insert the variable in a decision; if VideoResponding is false, take a path that displays information to the user without using video.


WindowHandle

Type:	Numerical

WindowHandle contains the window handle of Authorware's presentation window. All windows are identified internally by a window handle.

In some cases you may need to pass the value of WindowHandle as an argument to custom functions that require this information. Because the handle number can change whenever the Authorware presentation window is closed and reopened (such as in a jump to another file), do not store the WindowHandle value for later use.

Example:

This example calls the custom function DisplayDIB, passing WindowHandle as the first argument:

DisplayDIB(WindowHandle, "cool.dib",100,100,FALSE)


WindowHeight, WindowLeft, WindowTop, WindowWidth

Type:	Numerical

WindowHeight contains the height of the presentation window in pixels, and WindowWidth contains the width of the presentation window in pixels. WindowLeft contains the number of pixels from the left edge of the screen to the left edge of the presentation window. WindowTop contains the number of pixels from the upper edge of the screen to the upper edge of the presentation window.

Example:

Use these variables to adjust the presentation window depending on the size of the user's screen. For instance, check the coordinates of WindowLeft and WindowTop to find out how much larger the user's screen is than the presentation window. If the user has a large screen, use the system function ResizeWindow to increase the size of the presentation window accordingly.

Test(WindowTop>50 & WindowLeft>50, ResizeWindow(WindowWidth+WindowLeft,Â
WindowHeight+WindowTop)


Within

Type:	Logical

Within@"IconTitle" is true if Authorware is presenting the specified icon, an icon nested within the specified icon, or an icon attached to the specified branching structure. The specified icon is almost always a map, interaction, decision, or framework icon.

Example:

Use this variable to make a perpetual response active when the user is viewing a specific part of your piece. For example, type Within@"Examples" in the Active If field of a perpetual button response. Whenever the user is inside the map icon Examples, the button is active. At other times the button is inactive.


WordClicked

Type:	Character

WordClicked contains the word the user clicked in a text object. When the user clicks a word, both LastWordClicked and WordClicked contain the same value. However, if the user then clicks something else, WordClicked returns an empty (null) string, while LastWordClicked still contains the word the user clicked earlier.

Example:

See the example for the system variable LastWordClicked.


WordCount

Type:	Numerical

WordCount contains the number of words entered in the last text entry response. Authorware counts as a word any group of characters that does not contain spaces. Use WordCount@"IconTitle" to get the value at a specific text response. Authorware bases the value of WordCount on the contents of EntryText.

Example:

Use WordCount to check that the user typed the correct number of words. For instance, if you asked for the user's full name, you would want to check for at least two words.


WrongChoicesMatched

Type:	Numerical

WrongChoicesMatched contains the number of responses with a status of Wrong that the user matched in the current interaction. Use WrongChoicesMatched@"IconTitle" to get the value for a specific interaction.

Example:

These variables can be used to summarize a user's performance in an interaction. If many users are matching the same wrong responses, you may need to give users more direction or redesign the interaction.


Year

Type:	Numerical

Year contains the current year.


Functions

Authorware provides numerous system functions for manipulating values and controlling how your application operates. This chapter lists the system functions alphabetically and describes each function in detail. It also describes the operators provided for creating arithmetic, logical, and relational expressions, and the statements you can use to create If...Then scripts and Repeat loops.

Logical operators (& | ~)

Mathematical operators (+ - * / **)

Assignment operator (:=)

Relational operators (= <> < <= >= >

Concatenate operator (^)

ABS	NetDownload
ACOS	NetPreload
AddLinear	NewObject
AddProperty	Next Repeat
AppendExtFile	Number
Application	NumCount
ArrayGet	OffsetRect
Array	OLEDoVerb
ArraySet	OLEGetObjectVerbs
ASIN	OLEGetTrigger
ATAN	OLEGetTriggerVerb
Average	OLEIconize
Beep	OLESetAutoUpdate
Box	OLESetTrigger
CallIcon	OLESetTriggerVerb
CallObject	OLEUpdateNow
CallParentObject	Overlapping
CallSprite	PageContaining
Capitalize	PageFoundID
Catalog	PageFoundTitle
CharCount	PageHistoryID
Char	PageHistoryTitle
ChildIDToNum	Point
ChildNumToID	PointInRect
Circle	Preload
CloseWindow	PressKey
Code	PrintScreen
CopyList	PropertyAtIndex
COS	PurgePageHistory
CreateFolder	Quit
Date	QuitRestart
DateToNum	Random
Day	ReadExtFile
DayName	Real
DeleteAtIndex	Rect
DeleteAtProperty	Reduce
DeleteFile	RenameFile
DeleteLine	Repeat While
DeleteObject	Repeat With x In list
DisplayIcon	Repeat With
DisplayIconNoErase	RepeatString
DrawBox	Replace
DrawCircle	ReplaceLine
DrawLine	ReplaceSelection
EraseAll	ReplaceString
EraseIcon	ReplaceWord
EvalAssign	ResizeWindow
Eval	Restart
Exit Repeat	ResumeFile
Exit	ResumeFileName
EXP10	RFind
EXP	RGB
FileType	Round
Find	SaveRecords
FindProperty	SendEventReply
FindText	SetAtIndex
FindValue	SetCursor
FlushEventQueue	SetFill
FlushKeys	SetFrame
Fraction	SetIconProperty
FullDate	SetKeyboardFocus
GetIconProperty	SetLine
GetLine	SetMode
GetMovieInstance	SetPalette
GetNumber	SetProperty
GetProperty	SetSpriteProperty
GetSpriteProperty	ShowCursor
GetTextContaining	ShowMenuBar
GetWord	ShowTaskBar
GoTo	ShowTitleBar
GoToNetPage	Sign
IconFirstChild	SIN
IconLastChild	SortByProperty
IconLogID	SortByValue
IconLogTitle	SQRT
IconNext	String
IconNumChildren	Strip
IconParent	SubStr
IconPrev	Sum
IconTitle	Symbol
IconTitleShort	SyncPoint
IconType	SyncWait
IconTypeName	TAN
If-Then	Test
InflateRect	TestPlatform
Initialize	TextCopy
InsertLine	TextCut
Intersect	TextPaste
INT	TimeOutGoTo
JumpFile	Trace
JumpFileReturn	TypeOf
JumpOut	UnionRect
JumpOutReturn	Unload
JumpPrintReturn	UpperCase
Keywords	ValueAtIndex
LayerDisplay	VideoChromaKey
LineCount	VideoDisplay
Line	VideoPause
ListCount	VideoPlay
LN	VideoSeek
LOG10	VideoSend
LowerCase	VideoSound
MapChars	VideoSpeed
Max	VideoStep
MediaPause	VideoText
MediaPlay	WaitMouseUp
MediaSeek	WordCount
Min	WriteExtFile
MOD	Year
Month	ZoomRect
MonthName
MoveWindow


Logical operators
Logical operators ( & | ~ )

Logical operators compare logical values and return a logical (true or false) result.

&	and
|	or
~	not

Example:

The following statement is true if the executing icon is not within the icons Help or Quiz:

~Within@"Help" | ~Within@"Quiz"

You could use a statement like this in the Active If field of a button response to make it available only at certain points in your piece.


Mathematical operators
Mathematical operators ( + - * / ** )

Use arithmetic operators with numbers or lists or with variables that contain numbers. They return a numerical result or a new list.

+	add
-	subtract
*	multiply
/	divide
**	exponentiate

In general operators apply to each element of a list separately. With property lists, they apply to the value part of each element, not the property. The list on the left side determines the type of list, the number of elements in the resulting list, and (in the case of an operator applied to two property lists) the name of the property elements.

Note: The result of operations is usually a new list. This is different from assignments of lists from one variable to another, which generate s only a reference to the list.

Example:

In this example the - operator results in a new list where each element has had the operator applied:

-[1, 2, 3] results in [-1, -2, -3]

-[#r:255, #g:128, #b:0] results in [#r:-255, #g:-128, #b:0]

Binary operators applied between lists result in a new list with the operator applied to corresponding pairs of values from each list:

[1, 2, 3] + [10, 20, 30] results in [11, 22, 33]

[#r:1, #g:2, #b:3] + [#b:30, #r:10, #g:20] results in [#r:31, #g:12, #b:23]

["a", "b"] ^ [1, 2] results in ["a1", "b2"]

[1, 2, 3] < [3, 2, 1] results in [1, 0, 0]

In lists with a different number of elements, the result has the same number of elements as the list on the left side of the operator. If there are more elements in the list on the left side, Authorware performs no operations on those extra elements. If there are more elements in the list on the right side, Authorware ignores them and doesn't include them in the resulting list:

[1, 2, 3] + [10, 20] results in [11, 22, 3]

[1] + [10, 20, 30] results in [11]

[1, 2, 3] + [ ] results in [1, 2, 3]

[#r:1, #g:2, #b:3] + [:] results in [#r:1, #g:2, #b:3]

When applied between a list and a scalar, Authorware performs the operation on each element of the list to create a new list.

[1, 2, 3] + 10 results in [11, 12, 13]

2 ** [0, 1, 2, 3] results in [1, 2, 4, 8]

[#r:1, #g:2, #b:3] + 10 results in [#r:11, #g:12, #b:13]


Assignment operator
Assignment operator ( := )

The assignment operator assigns the value or the result of evaluating the expression to a variable.

Assignment of a list is done by reference, not by value. If you assign a list from one variable to another the destination variable does not get a copy of the list; instead, both variables refer to the same list.

Example:

In this example, both aList and bList refer to the same list, not different copies of it. A change in the list affects both variables.

aList := [1, 2, 3]

bList := aList

DeleteAtIndex(bList, 2)

Both aList and bList are [1, 3]


Relational operators
Relational operators ( = <> < <= >= > )

Relational operators compare two values and return a logical (true or false) result.

=	equal
<>	not equal
<	less than
<=	less than or equal to
>=	greater than or equal to
>	greater than


Concatenate operator
Concatenate operator ( ^ )

Syntax:	string := string1 ^ string2[^string3^ ...]

The concatenate operator returns the single character string created by connecting the contents of string1, string2.


ABS

Syntax:	number := ABS(x)

ABS returns the absolute value of x.

Example:

In the following expression AbsoluteValue is equal to 3:

AbsoluteValue := ABS(-3)


ACOS

Syntax:	number := ACOS(x)

ACOS returns the arc cosine of the variable or expression specified in x in the range 0 to ¹.


AddLinear

Syntax:	AddLinear(linearList, value [, index])

AddLinear inserts a value into a linear list. In a sorted list, it inserts the value in sorted order. In an unsorted list, it inserts the value at the end. If you include a value for the optional index parameter, AddValue inserts the value at the specified index (use an index of 1 to insert at the start of the list). If the index is beyond the end of the list, the list is expanded with zeros between the end of the list and the inserted value. Specifying an index makes the list unsorted. This function does nothing if the index is less than 1 or the first parameter is not a linear list.

Example:

numList:=[1, 2, 3]

AddLinear(numList, 99, 1)

numList is now [99, 1, 2, 3]

numList:=[1, 2, 3]

AddLinear(numList, 99, 6)

numList is now [1, 2, 3, 0, 0, 99]


AddProperty

Syntax:	AddProperty(propertyList, #property, value [, index])

AddProperty inserts the property and value into a property list. If the list is sorted, it adds the property in sorted order. If the list is unsorted, it adds the property to the end. The function adds the new element even if another element already has that property. If you include a value for the optional index parameter, AddProperty inserts the value at the specified index (use an index of 1 to insert at the start of the list). If the index is beyond the end of the list, AddProperty inserts the property and value at the end of the list; the list does not expand to the indexed value. Specifying an index makes the list unsorted. The function does nothing if the index is less than 1 or the first parameter is not a property list.

Example:

propList:=[#a:1,#b:2,#c:3]

AddProperty(propList, #d, 99, 1)

propList is now [#d:99, #a:1, #b:2, #c:3]

propList:=[#a:1,#b:2,#c:3]

AddProperty(propList, #d, 99, 6)

propList is now [#a:1, #b:2, #c:3, #d:99]


AppendExtFile

Syntax:	number := AppendExtFile("filename", "string")

AppendExtFile adds the contents of string to the end of the text file you specify in filename. The function creates a text file if it does not already exist. If you do not specify a path for filename, Authorware uses FileLocation as the path.

You can use AppendExtFile only in calculation icons. Don't embed it or use it in expressions.

When you use AppendExtFile, Authorware updates two system variables, IOStatus and IOMessage, and returns the value of IOStatus. If no error occurs, IOStatus contains 0 and IOMessage is empty. If an error occurs, the operating system defines what number appears in IOStatus. If IOStatus is not 0, IOMessage contains the error message.

Use AppendExtFile to accumulate text in a file. Use WriteExtFile to overwrite the contents of a file with new text. Both functions can write any type of data-such as user names, scores, or topics-to an external file in ASCII format. After writing text to an external file, you can use the ReadExtFile function to retrieve the contents.

Example:

The following statement adds the contents of NewUser to the end of DATA.TXT.

AppendExtFile(RecordsLocation^"DATA.TXT", NewUser)

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function.


Application

Syntax:	string := Application()

Application returns a string containing the letters COA followed by a space:

"COA "

Some XCMDs and DLLs may use Application to determine whether Authorware is running. (COA stands for Course of Action, Authorware's original name.)


Array

Syntax:	MyArray := Array(value, dim1 [, dim2, dim3, ...dim10])

Array creates a linear list (a one-dimensional array) filled with value. If value is a list, Authorware copies the list for each element in the array. Specifying additional dimension parameters simulates multidimensions by creating a list of lists. The maximum number of dimensions is 10.

Note: The basic array contained in every Authorware piece is not created or affected by this function. ArraySet and ArrayGet do not work with an array created with the Array function.

Example:

This creates a linear list:
MyArray :=Array(0,3)
The result is [0, 0, 0]

This creates a three-element linear list, where each element is a linear list with two elements:
MyArray:= Array(0,3,2)
The resulting array is [[0, 0], [0, 0], [0, 0]]

This creates a three-dimensional list:
MyArray :=Array(0,4,3,2)
The result is [[[0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0]]]

This creates an array of property lists:
MyPropArray :=Array([#a:0],3)
MyPropArray is [[#a:0], [#a:0], [#a:0]]

This creates a two-dimensional array of property lists:
MyPropArray :=Array([#a:0],3,2)
MyPropArray is [[[#a:0], [#a:0]], [[#a:0], [#a:0]], [[#a:0], [#a:0]]]


ArrayGet

Syntax:	result := ArrayGet(n)

ArrayGet reads the nth element of the file's built-in array and returns it in result. These elements can be character strings or numbers.

Example:

To retrieve an employee's name from the array, prompt the user for the employee number and then use the ArrayGet function like this:

name := ArrayGet(Employee number)


ArraySet

Syntax:	ArraySet(n, value)

ArraySet stores the contents of value in the nth index element of the file's built-in array. Values can be character strings or numbers. Valid values for n are 0 through 2500. Index numbers need not be sequential. Authorware allocates space only for the index numbers you actually use, so this feature can save disk space.

Note: There is only one built-in array for each piece; do not try to use the same array elements for several different purposes. Use the Array function to create a separate array.

Example:

The following statement inserts the employee's name into the array using the employee number as the index:

ArraySet(EmployeeNumber,EmployeeName)


ASIN

Syntax:	number := ASIN(x)

ASIN returns the arc sine of the variable or expression specified in x in the range -¹/2 to ¹/2.


ATAN

Syntax:	number := ATAN(x)

ATAN returns the arc tangent of the variable or expression specified in x in the range -¹/2 to ¹/2.

Example:

The user can click a point on the edge of a circle to find the angle at the point of the click. (ClickX and ClickY are system variables; CenterX and CenterY are custom variables.) The angle is measured from the point where the horizontal axis intersects the circle on the right:

result in radians := ATAN((ClickY-CenterY)/(ClickX-CenterX))


Average

Syntax:	Value := Average(anyList)

Value := Average(a [, b, c, d, e, f, g, h, i, j])

Average returns the average value of the top level elements in a list or the average of up to ten arguments.

Example:

This returns the average value of numList:
numList := [1, 2, 3, 99]
Value:= Average(numList)
Value is 26.

This returns the average value of the arguments:
Value:= Average(1, 2, 3, 99)
Value is 26.


Beep

Syntax:	Beep()

Beep activates the system's beep sound.

Example:

Beep is useful when you want to attract the user's attention, for example, beep if the user selects an incorrect response.


Box

Syntax:	Box(pensize, x1, y1, x2, y2)

Box draws a box on the screen from coordinates x1, y1 to x2, y2 with a frame width specified by pensize. The frame is black and the fill transparent unless you change them with the SetFrame and SetFill functions. Setting pensize to -1 draws a solid black box.

Use Box only in calculation icons. Don't embed it or use it in expressions.

Example:

When placed in a hot spot response icon, the following calculation draws a box below the point the user clicked on the screen:

Box(1,ClickX,ClickY,ClickX+150,ClickY+250)


CallIcon

Syntax:	result := CallIcon(IconID@"SpriteIconTitle", #method [, argument...])

CallIcon calls a method of the asset associated with a sprite Xtra.


CallObject

Syntax:	result := CallObject("object", #method [, argument...])

CallObject calls a scripting Xtra handler method of an object. A new object is created using the NewObject function.

Example:

These statements create a child instance of the file I/O object to open a file:

ChildInstance := NewObject("fileio")

CallObject(ChildInstance, "openFile", MyFile, 0)


CallParentObject

Syntax:	result := CallParentObject("Xtra", #method [, argument...])

CallParentObject calls a scripting Xtra handler parent method for an Xtra.


CallSprite

Syntax:	result := CallSprite(IconID@"SpriteIconTitle", #method [, argument...])

CallSprite calls a method of a sprite.

Example:

This statement adds a menu item to an ActiveX Popup Menu control:

CallSprite(@"Popup", #AddItem, "This is a menu item")


Capitalize

Syntax:	resultString := Capitalize("string" [, 1])

Capitalize returns the string that results from capitalizing the first character of every word in string. Authorware recognizes a new word when it finds one or more spaces between characters. To capitalize only the first word in string, insert 1 as the optional argument.

Example:

In this example, Authorware capitalizes each word stored in the system variable EntryText and places the result in the custom variable Name:

Name := Capitalize(EntryText)

"the rain in spain" becomes "The Rain In Spain"

Name := Capitalize(EntryText, 1)

"the rain in spain" becomes "The rain in spain"


Catalog

Syntax:	string := Catalog("folder" [, "flag"])

Catalog locates all files and folders you specify and returns a character string with each file or folder on a separate line. If you also specify F or D for flag, Catalog returns only files or folders, respectively. You must include the path to the folder in folder. Separate folders with backslashes (Windows) or colons (Macintosh).

You can view a list of files and folders from any folder on your system. Because each file and folder is listed on a separate line, you can easily separate items with functions such as GetLine. To find out whether a specific file exists in a folder, use Catalog to return the folder's contents and then use Find to search for the file you want.

When you use Catalog, Authorware updates two system variables, IOStatus and IOMessage. If no error occurs, IOStatus contains 0 and IOMessage is empty. If an error occurs, the operating system defines what number appears in IOStatus. If IOStatus is not 0, IOMessage contains the error message.

Example:

This expression returns a list of all files and folders in the current folder:
String := Catalog(FileLocation)

This expression returns a list of only the files in the current folder:
Files := Catalog(FileLocation,"F")

This expression returns a list of only the folders in the current folder:
Folders := Catalog(FileLocation,"D")

This expression returns a list of all files and directories contained in the Windows System folder:
Contents := Catalog("C:\\WINDOWS\\SYSTEM")

This expression returns a list of all files and folders in the current Records folder:
Contents := Catalog(RecordsLocation)

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function.


Char

Syntax:	string := Char(key)

Char returns the character, number, symbol, or key name that corresponds to the ASCII code or key name you specify in key. For example, Char(100) returns "d".

Example:

This example shows how to assign the ASCII code 12 (Form Feed) to the custom variable Separator. You can use this variable to separate a new topic from existing text when you write the new topic into an external file with the AppendExtFile function. For example:

Separator := Char(12)

AppendExtFile("TOPICS.TXT",Separator^New topic)


CharCount

Syntax:	number := CharCount("string")

CharCount returns the number of all characters, including spaces or special characters, found in string.

MyString := "abc"
Number := CharCount(MyString)
Number is 3.

MyString := "a b c"
Number := CharCount(MyString)
Number is 5.


ChildIDToNum

Syntax:	number:= ChildIDToNum(IconID@"ParentTitle", @"ChildTitle" [, flag])]

ChildIDToNum returns a number that corresponds to the position of the icon you specify in ChildTitle in the map icon or attached to the branching icon you specify in ParentTitle. Icons are ordered from top to bottom (map icons) or from left to right (branching icons, including framework icons). If the IconTitle you specify is not in the map or branching icon you specify in ParentTitle, the function returns 0.

Use flag to have the function return information either about an icon attached to a framework icon or about an icon in the framework window's entry or exit pane. Flag can have these values:

0	The default; returns a number that identifies the position of the icon you specify in ChildTitle, to the right of the framework icon you specify in ParentTitle
1	Returns a number that identifies the position of the icon you specify in ChildTitle, within the entry pane of the framework icon you specify in ParentTitle
2	Returns a number that identifies the position of the icon you specify in ChildTitle, within the exit pane of the framework icon you specify in ParentTitle
Example:

Expression	Returns
ChildIDToNum(@"Title sequence", @"Title")	4
ChildIDToNum(@"Quiz",@"--Correct")	1
ChildIDToNum(@"Module 2",@"Page 3")	3
ChildIDToNum(@"Module 2",@"Module 2 title",1)	2
ChildIDToNum(@"Module 2",@"Close files",2)	1


ChildNumToID

Syntax:	ID := ChildNumToID(IconID@"Parent", n [, flag])

ChildNumToID returns the ID of the icon at position n within the map to the right of the branching icon you specify in Parent. Icons are ordered from top to bottom (map icons) or from left to right (branching icons, including framework icons). If no icon corresponds to the position you specify within the parent you specify, this function returns 0.

Use flag to have the function return information either about an icon attached to a framework icon or about an icon in the framework window's entry or exit pane. Flag can have these values:

0	The default; returns the icon ID of the icon that's at position n, to the right of the framework icon identified by Parent
1	Returns the icon ID of the icon at position n in the entry pane of the framework icon identified by Parent
2	Returns the icon ID of the icon at position n in the exit pane of the framework icon identified by Parent
Example:

Expression	Returns
ChildNumToID(@"Quiz",2)	66350
ChildNumToID(@"Module 2",2)	77810
ChildNumToID(@"Module 2",3,1)	77000


Circle

Syntax:	Circle(pensize, x1, y1, x2, y2)

Circle draws a circle within the imaginary box bounded by x1, y1 and x2, y2 with a frame width specified by pensize. The frame is black and the fill transparent unless you change them with the SetFrame and SetFill functions. Setting pensize to -1 draws a solid black circle.

Use Circle only in calculation icons. Don't embed it or use it in expressions.

Example:

This example draws a circle around a point. It uses the system variables ClickX and ClickY, which contain the position of the referenced object.

Circle(2,ClickX@"Obj"-50,ClickY@"Obj"-50,ClickX@"Obj"+50,ClickY@"Obj"+50)


CloseWindow

Syntax:	CloseWindow("window")

CloseWindow closes the specified window. The argument window is a string containing the name of the window created by an XCMD or UCD (DLL).


Code

Syntax:	number := Code("character")

Code returns the ASCII code that corresponds to the character, number, symbol, or key name you specify in character. If you specify a key name, such as Tab, do not use quotation marks.

You can use Code to find out what characters are used as separators (delimiters) in a file that contains different items, such as a list of names. The numerical codes for non-ASCII characters may differ on Windows and the Macintosh.


CopyList

Syntax:	newList := CopyList(anyList)

CopyList returns a complete copy of a list, including all sublists.

When you assign a variable to a list, the variable contains only a reference to the list. If you assign the contents of that variable to another, only the reference to the list is copied.

Note: CopyList returns a null value if there isn't enough memory to complete the operation.

Example:

This example creates a copy of ListA. Changes to ListB do not affect ListA.

ListA := [10, 20, 30]

ListB := CopyList(ListA)

DeleteAtIndex(ListB, 1)

ListA is unchanged while ListB is [20, 30].

The next example copies only the reference to the list. Changes to ListB or ListA both affect the same list.

ListA := [10, 20, 30]

ListB := ListA

DeleteAtIndex(ListB, 1)

Both ListA and ListB are [20, 30].


COS

Syntax:	number := COS(angle)

COS returns the cosine of the angle you specify in angle, expressed in radians.

Example:

Suppose you are teaching the user how to use a compass. You could ask the user for the radians and then use the COS and SIN functions to plot the point on your compass on the screen.

X := CenterX+Radius of circle*SIN(angle in radians)

Y := CenterY+Radius of circle*COS(angle in radians)


CreateFolder

Syntax:	number := CreateFolder("folder")

CreateFolder creates a folder with the name you specify in folder. By default, the new folder is created in the current records folder.

When you use CreateFolder, Authorware updates two system variables, IOStatus and IOMessage, and returns the value of IOStatus. If no error occurs, IOStatus contains 0 and IOMessage is empty. If an error occurs, the operating system defines what number appears in IOStatus. If IOStatus is not 0, IOMessage contains the error message.

Example:

This example creates a folder named "TxtFiles" in the current records folder:
CreateFolder("TxtFiles")

This example creates a folder inside the current folder. The new folder uses the name contained in the custom variable UserName:
CreateFolder(FileLocation^UserName)

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function.


Date

Syntax:	string := Date(number)

Date returns a character string, using the number of days since January 1, 1900, as the basis, and then converting that number to the short-date format defined by the localization setting of the computer system. Valid input includes the following range of numbers:

Windows	25568 to 49709 (January, 1, 1970, through June, 2, 2036)
Macintosh	1461 to 51171 (January, 1, 1904, through June, 2, 2040)
Example:

Assume that you want to calculate the date on which the user last opened a file. This calculation requires two steps:

First, convert the current date into a number with the DateToNum function and subtract the number in the system variable ElapsedDays from that number:
DayNumber := DateToNum(Day,Month,Year) - ElapsedDays

Second, convert the resulting number back into a date format with either the FullDate or Date function.
LastDayName := Date(DayNumber).


DateToNum

Syntax:	number := DateToNum(day, month, year)

DateToNum converts a date (day, month, and year) to a number that corresponds to the number of days since January 1, 1900. This function performs the opposite calculation from the Date function, which converts a number to a date. The following table shows the range of valid dates:

Windows	January 1, 1970 to February 5, 2036
Macintosh	January 1, 1904 to February 6, 2040
Example:

See the Date example.


Day

Syntax:	value := Day(number)

Day returns the number of the day of the month, using the number of days since January 1, 1900, as the basis. Valid input includes the following range of numbers:

Windows	25568 to 49709 (January 1, 1970 through June 2, 2036)
Macintosh	1461 to 51171 (January 1, 1904 through June 2, 2040)
Example:

The following statement returns the day of the month for January 1, 1970:

result := Day(25568)

The result is 1.


DayName

Syntax:	string := DayName(number)

DayName returns a character string containing the day of the week, using the number of days since January 1, 1900, as the basis and then converting that number to the name of the day. Valid input includes the following range of numbers:

Windows	25568 to 49709 (January 1, 1970 through June 2, 2036)
Macintosh	1461 to 51171 (January 1, 1904 through June 2, 2040)
Example:

The following returns the day name for January 1, 1970:

result := Day(25568)

The result is "Thursday".


DeleteAtIndex

Syntax:	DeleteAtIndex(anyList, index)

DeleteAtIndex deletes the element from a list at the specified index. Deleting an element does not affect the sort status of the list. The function does nothing if the index is out of range or the first argument is not a list.

Tip: 	To delete an element based on its value, use FindValue to return the index of the element, and then use DeleteAtIndex to delete the element.

Example:

anyList := [1, 2, 3]

DeleteAtIndex(anyList, 1)

anyList is now [2, 3].


DeleteAtProperty

Syntax:	DeleteAtProperty(propertyList, #property)

DeleteAtProperty deletes the first element with the specified property from the list. This does not affect the sort status of the list. This function does nothing if the property name is not found or the first argument is not a property list.

Note: The symbols in a property list are not case sensitive.

Example:

propList := [#a:1, #b:2, #c:3]

DeleteAtProperty(propList, #a)

propList is now [#b:2, #c:3].

propList := [#a:1, #a:2, #a:3]

DeleteAtProperty(propList, #a)

propList is now [#a:2, #a:3].

propList := [#a:1, #A:2, #A:3]

DeleteAtProperty(propList, #A)

propList is now [#a:2, #a:3].


DeleteFile

Syntax:	number := DeleteFile("filename")

DeleteFile deletes the file or folder you specify in filename. You can delete folders only if they don't contain any files or folders. Unless the file you want to delete is in the records folder, you must include the path in filename.

Use this function to delete from a user's records folder any files you no longer need. To do this, first use Catalog to display the files and folders. Then use Character functions to extract the item you want to delete from the list.

When you use DeleteFile, Authorware updates two system variables, IOStatus and IOMessage, and returns the value of IOStatus. If no error occurs, IOStatus contains 0 and IOMessage is empty. If an error occurs, the operating system defines what number appears in IOStatus. If IOStatus is not 0, IOMessage contains the error message.

Example:

This statement deletes the file named SCORES.TXT from the folder A4WFILES:
DeleteFile("C:\\A4WFILES\\SCORES.TXT")

This statement deletes the file whose name is contained in the custom variable User ID:
DeleteFile(FileLocation^User ID)

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function.


DeleteLine

Syntax:	Result := DeleteLine("string", n [, m, delim])

DeleteLine returns the string that results from deleting line n from string. By also specifying m, you can delete the range of lines n through m. You can also use the delim argument to specify a different delimiter for the lines, such as the Tab character. By default, each line in string is delimited by a Return character.

Example:

This example deletes the second line of a return-delimited string.

Lines := "John"^Return^"Paul"^Return^"Ringo"^Return^"George"^Return

RemainingLines := DeleteLine(Lines, 2)

The result is "John\rRingo\rGeorge\r."

This deletes the second and third lines of a tab-delimited string.

Lines := "John"^Tab^"Paul"^Tab^"Ringo"^Tab^"George"^Tab

RemainingLines := DeleteLine(Lines, 2, 3, Tab)

The result is "John\tGeorge\t."


DeleteObject

Syntax:	DeleteObject(object)

DeleteObject deletes an instance of a scripting Xtra object created by NewObject.


DisplayIcon

Syntax:	DisplayIcon(IconID@"IconTitle")

DisplayIcon displays the contents of the specified icon. If the icon is already displayed, this updates any displayed variables. The display's layer number is the same as that of the specified icon. Authorware applies the automatic erasing settings of icon that contains DisplayIcon to the displayed object.

Use DisplayIcon only in calculation icons. Don't embed it or use it in expressions.

Example:

This statement displays the icon Picture:

DisplayIcon(IconID@"Picture")


DisplayIconNoErase

Syntax:	DisplayIconNoErase(IconID@"IconTitle")

DisplayIconNoErase displays the contents of the specified icon, and acts as if Prevent Automatic Erase is checked in the icon's Properties dialog box. Other than updating displayed variables, this function has no effect if the icon is already displayed.

Use DisplayIconNoErase only in calculation icons. Don't embed it or use it in expressions.

Example:

In this example, Authorware displays the contents of the icon Show Help if the variable HelpOn is true, without automatically erasing according to the erasure options set in an interaction, decision, or response icon. If the condition is false, Authorware ignores the function and doesn't display the contents of the icon Show Help:

Test(HelpOn, DisplayIconNoErase(@"Show Help")


DrawBox

Syntax:	DrawBox(pensize, [x1, y1, x2, y2])

DrawBox allows the user to draw a box (with frame width specified by pensize) by clicking and dragging. Include values for x1, y1, x2, y2 if you want to constrain the user's drawing area in the presentation window. The frame is black and the fill transparent unless you change them with the SetFrame and SetFill functions. Setting pensize to -1 draws a solid black box.

Use DrawBox only in calculation icons. Don't embed it or use it in expressions.

Use DrawBox to allow the user to select objects by drawing a box around them, or create a palette of tools with which the user can draw boxes, circles, or lines.

Note: This function works only while the user holds the mouse button down.

Example:

This example enables the user to draw a box within a specified area:


DrawCircle

Syntax:	DrawCircle(pensize, [x1, y1, x2, y2])

DrawCircle allows the user to draw an oval (with a frame width specified by pensize) by clicking and dragging. Include x1, y1, x2, y2 coordinates if you want to constrain the user's drawing area. The frame is black and the fill transparent unless you change them with the SetFrame and SetFill functions. Setting pensize to -1 draws a solid black circle.

Use DrawCircle only in calculation icons. Don't embed it or use it in expressions.

Note: This function works only while the user holds the mouse button down.

Example:

See the example for DrawBox.


DrawLine

Syntax:	DrawLine(pensize, [x1, y1, x2, y2])

DrawLine allows the user to draw a line (with line width specified by pensize) by clicking and dragging. Include x1, y1, x2, y2 coordinates if you want to constrain the user's drawing area. The line is black unless you change the color with the SetFrame function. Setting pensize to -1 draws a black line regardless of the SetFrame function.

Use DrawLine only in calculation icons. Don't embed it or use it in expressions.

Note: This function works only while the user holds the mouse button down.

Example:

See the example for DrawBox.


EraseAll , EraseIcon

Syntax:	EraseAll()
EraseIcon(IconID@"IconTitle")

EraseAll erases the entire contents of the presentation window. Although you could use erase icons to erase the contents of the presentation window, EraseIcon lets you decide at run time which icons to erase.

Use EraseAll and EraseIcon only in calculation icons. Don't embed them or use them in expressions.


Eval, EvalAssign

Syntax:	result := Eval("expression" [, decimal, separator])
result := EvalAssign("expression" [, decimal, separator])

Eval takes the string in expression and places the resulting value in result. This function makes it possible to evaluate expressions at run time, based on information the user enters. Because Eval can interpret character strings in addition to mathematical expressions, you can evaluate any text the user enters.

You can't use Eval to evaluate expressions that contain the assignment operator (:=); however, you can use this operator to assign the result to a variable.

EvalAssign works like Eval, except that it can evaluate expressions that contain the assignment operator(:=).

Use the optional argument decimal to specify which character Authorware should use as a decimal point in the first parameter. Use the optional argument separator to specify which character Authorware should use as a separator for arguments in the first parameter. The localization settings of the operating system determine the default decimal and list separator. By specifying the characters you want to use, you ensure that your expression will work on any system regardless of its localization settings.

Syntax errors are stored in the system variables EvalStatus and EvalMessage.

Example:

This example shows how to read in an initialization file and assign its values to variables. The external text file "demo.ini" contains the following lines:

LastSection := 3

UserName := "John"

Within a calculation icon the following lines read in the text file and pass the contents of the file to EvalAssign line by line. Even though the lines above are kept in an external file, Authorware executes them as if they were entered in a calculation icon.

FileContents := ReadExtFile(FileLocation^"demo.ini")

repeat with X:=1 to LineCount(FileContents)

Line := GetLine(FileContents, X)

EvalAssign(Line)

end repeat

Note: Variables must already exist in your piece before you can assign values to them with EvalAssign.


Exit

Syntax:	exit

Exit exits a script in a calculation window.

When Authorware encounters an exit statement, it skips the rest of the instructions and exits the calculation. If the calculation is attached to an icon, Authorware executes the icon normally.

Example:

The following script checks the number of colors that the user's computer is set to display. If the number of colors is greater than or equal to 8 (a screen depth of 8 bits or 256 colors), Authorware exits the calculation. Otherwise Authorware assigns the text in the second line to the variable Message.

if ScreenDepth >= 8 then exit

Message := "You need to set your computer to display 256 colors."

In the next example, Authorware searches through an array. The script uses two custom variables, High and Low, to search the array. As soon as Authorware finds a match during a search, it exits the script with the custom variable Mid set to the array index where the match was found.

repeat while High >= Low

Mid = (High + Low) / 2

if ArrayGet(Mid) = Search Key then

exit

else if ArrayGet(Mid) < Search Key then

Low = Mid

else

High = Mid

end if

end repeat


Exit Repeat

Syntax:	ExitRepeat

Exit repeat exits a Repeat loop and executes the next statement in the calculation icon. If there are no other statements, Authorware exits the calculation icon. Use the exit repeat statement anywhere inside the body of a Repeat loop.


EXP, EXP10

Syntax:	number := EXP(x)
number := EXP10(x)

EXP returns the value of e (the transcendental constant used as the base for natural logarithms) raised to the power of x. EXP10 returns the value of 10 raised to the power of x.


FileType

Syntax:	number := FileType("filename")

FileType returns a number that identifies the file type of the file or folder you specify in filename. Some file types are identified by their three-letter extensions, as shown in the following table.

Type	Windows	Macintosh
0	no such file or error	no such file or error
1	directory	folder
2	unpackaged file (.A4P)	unpackaged file (.A4P)
3	packaged file without RunA4W (.A4R)	packaged file without RunA4M(.A4R)
4	model (.A4D)	model (.A4D)
5	sound (.AIF, .PCM, or .WAV)	sound
6	movie (.MOV, .AVI, .MPG, .DIR)	movie (QuickTime or Director movie)
7	not used	PICS movie
8	custom function code (.UCD or .DLL)	user code (XCMD)
9	text (.TXT)	text
10	application (.EXE, .COM, .BAT, or .PIF)	application
11	other	other
12	library file (.A4L)	library file (.A4L)
13	packaged library file (.A4E)	packaged library file (.A4E)
Example:

This example shows how to use FileType in an If...Then script to check for the existence of a file. If the file exists, the script creates the custom variable msg to hold a message that can then be displayed.

file:= "myfile.txt"

If FileType(file)= 0 then

msg:="file does not exist"

end if

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function.


Find

Syntax:	number := Find("pattern", "string")

Find searches the string you specify for the characters you specify in pattern and returns the character position of the first match it finds. The function returns 0 if pattern is not found.

Find is case sensitive. You may want to use LowerCase or UpperCase to change all the characters in string before using this function.

You can use special characters in the pattern argument to broaden your search:

•	An asterisk(*) represents zero or more characters.

•	A question mark(?) represents any single character.

•	A backslash(\) removes special meaning. For example, use \? to search for a question mark.

Note that Authorware counts each space and punctuation mark as a character.

Example:

This expression shows how to find the position of one word in a string and to store that position in a custom variable:

ApplePosition := Find("apple","banana, orange, apple")

The function returns 17, which is the character position of "apple" in the string.

Here are some examples using special characters:

Lyric := "The rain in Spain falls mainly on the plain"
Start := Find("?ain",Lyric)

"?ain" matches "rain", so Start is 5.

Start := Find("Spain*ain",Lyric)

The pattern matches "Spain falls main", so Start is 13.

An asterisk(*) normally matches the shortest possible sequence of characters. However, if a pattern consists only of asterisks, it matches the whole string; and if a pattern ends with an asterisk, it matches the end of the string. For example:

Start := Find("*",Lyric)

The pattern matches the whole string, so Start is 1.

Start := Find("Spain*",Lyric)

The pattern matches "Spain falls mainly on the plain", so Start is 13.

This example shows how to search for an asterisk (*) or a question mark (?). A backslash preceding a special character in a pattern removes its special meaning. To represent a backslash in a string constant, you must precede it with another backslash. Therefore, two backslashes precede the asterisk in the pattern:

Query := "should I use * for a footnote?"
Start := Find("\\*",Query)

The final example is the most complex. To search for a backslash, you tell the Find function to ignore its special meaning by preceding it with another backslash. In addition, remember that to represent a backslash in a string you must precede it with another backslash:

Path := "C\\WINDOWS\\A4W_DATA\\"DATAFILE.TXT"
Start := Find("\\\\",Path)

The pattern string is processed as two backslashes (\\) and passed to Find, which treats it as a single backslash (\).


FindProperty

Syntax:	index :=FindProperty(propertyList, #property, [index])

FindProperty returns the index of the first element with the specified property. Specifying an index returns the first match starting from the index. This function returns 0 if the property does not exist in the list or the first argument is not a property list.

Note: The symbols in a property list are not case sensitive.

Example:

propList := [#a:1, #b:2, #c:3, #a:1, #b:2, #c:3]

index := FindProperty(propList, #b)

index is 2.

propList := [#a:1, #b:2, #c:3, #a:1, #b:2, #c:3]

index := FindProperty(propList, #b, 3)

index is 5.

propList := [#a:1, #A:2, #A:3]

index := FindProperty(propList, #A)

index is 1.


FindText

Syntax:	number := FindText("searchString", scopeIconID, textOrKeywords, matchPattern,Â
 resultsInContext, convertResultsToPageIDs, searchInBackground)

FindText searches for the word specified in searchString and returns the number of matches found. FindText also creates an internal match list, which several other functions use to get information about a particular match. These functions include PageFoundID, which displays the icon ID of the page that contains a particular match, and PageFoundTitle, which displays either a single icon title that corresponds to a match or a range of titles that correspond to several matches. To display the found text, use GetTextContaining.

The following FindText parameters limit and direct the search:

•	Modify searchString with the boolean operators And (&), Or (|), and Not (!).

Use an ampersand (&) or space between words to find any pages with all of the words.

Use a bar (|) between words to find pages that contain any of the words.

Use an exclamation point (!) between words to find all the pages that contain the words before the exclamation point but not the words after the exclamation point.

Enclose portions of a group of words in parentheses to control the order in which the search looks for the words. For example, (Cairo | Paris) & (Tokyo ! Beijing) will find pages that contain Cairo and Tokyo, but not Beijing, and also pages that contain Paris and Tokyo, but not Beijing.

•	Use scopeIconID to limit the search to icons on the flowline of the specified map or branching icon. The default value of 0 searches the entire file.

•	Use textOrKeywords to limit the search to text (0), keywords (1), or both (2). The default value is 0.

•	Set matchPattern to true to use the characters in searchString as a pattern. (For information on patterns, see Find.) Set this argument to false if searchString is a word. The default is false.

•	Setting resultsInContext to true affects the search in three ways.

First, FindText stores the surrounding text of any matches, and you can use GetTextContaining to display it. If resultsInContext is false, FindText doesn't store the context of any matches.

Second, FindText verifies each match. To verify a match, Authorware opens the text of the display and hunts for the word to make sure it's there. This takes extra time and slows the search considerably. A false match is rare. But if you need to be absolutely sure, then make resultsInContext true.

Third, FindText stores all matches in an icon, not just one. This is useful if you have set convertResultsToPageIDs to true and want to know how many matches were made in each page. If there are multiple matches in the same page, each of those matches appears in the page list. Setting resultsInContext to false results in a unique list of page names with no duplicate page IDs.

•	Set convertResultsToPageIDs to true if you want to know what page contains the found text. FindText then stores a list of the page IDs where searchString was found. (This may be the actual display icon if the display icon is also the page.) The default value is false. If convertResultsToPageIDs is false, FindText stores only the IDs and titles of the containing icons.

•	Set searchInBackground to true if you want the search done in the background during idle time. In this case, the FindText function returns immediately, Authorware executes the remainder of the calculation icon, and the piece continues. As the search proceeds in the background, the variable SearchPercentComplete increases, the page IDs and title lists fill in one by one, and the system variable FoundCount increases any time FindText finds a match.

If searchInBackground is false, the search proceeds until it is complete, interrupting all other tasks. Calling FindText in this manner results in the fastest possible search. FindText doesn't return until the search is complete. When it returns, the page IDs and title lists contain a complete list of matches.

You can interrupt a search in the foreground by pressing Control-Break (Windows) or Command-period (Macintosh). This leaves the search in a state where it cannot resume.

When a search is proceeding in the background, you can interrupt it by using FindText or executing a navigate icon with Search selected, which cancels the current search and begins a new one. For example, if the Find dialog box is on the screen and FindText is called, the dialog box disappears. Use an empty string ("") for searchString to avoid initiating a new search.

Note: Each time you perform a new text search, the match list produced by the search replaces the previous match list.

Example:

This example searches for the string "digital". The second parameter limits the search to the flow line of Video. The third argument specifies searching both text and keywords for the string.

NumberFound:= FindText("digital", @"Video",2)


FindValue

Syntax:	the keyPressed

Syntax:	index := FindValue(anyList, value [, index])

FindValue returns the index of the first element that matches the specified value. Specifying an index returns the first match starting from the index. FindValue returns 0 (linear list) or a null value (property list) if no element has that value or if the first argument is not a list.

Example:

numList := [10, 20, 30]

index := FindValue(numList, 20)

The index number returned is 2.

propList := [#a:10, #b:20, #c:30, #a:10, #b:20, #c:30]

index := FindValue(propList, 20, 3)

index is 5.


FlushEventQueue

Syntax:	FlushEventQueue()

FlushEventQueue discards all pending events from the event queue. Authorware does not process any discarded events.


FlushKeys

Syntax:	FlushKeys()

FlushKeys clears the keyboard buffer of any keys typed by the user but not yet processed by Authorware.

Example:

If the user presses too many keys in a response, use FlushKeys to ignore the unprocessed keys, so they don't affect the value of the system variables Key and KeyNum or trigger subsequent waits or interactions.


Fraction

Syntax:	result:=Fraction(number)

Fraction returns the fraction of the value passed.

Example:

result := Fraction(12.34)

The value of result is .34.


FullDate

Syntax:	string := FullDate(number)

FullDate returns a character string, using the number of days since January 1, 1900, as the basis, and then converting that number to the long-date format defined by the localization setting of the computer system. Valid input includes the following range of numbers:

Windows	25568 to 49709 (January, 1, 1970 through June, 2, 2036)
Macintosh	1461 to 51171 (January, 1, 1904 through June, 2, 2040)
Example:

See the Date example on.


GetIconProperty

Syntax:	result := GetIconProperty(IconID@"SpriteIconTitle", #property)

GetIconProperty gets the value of the asset property of the sprite icon. Creates an instance of the asset icon if one does not exist. Use GetSpriteProperty to get the value of a property for a sprite. Use SetIconProperty to set a property of a sprite icon.

Example:

This statement gets the value of the #Scale property of the QuickDraw 3D sprite icon titled QD3D Globe:

GlobeSize := GetIconProperty(@"QD3D Globe", #Scale)

In this case the value of GlobeSize happens to be a list, [1, 1, 1].


GetLine

Syntax:	resultString := GetLine("string", n [, m, delim])

GetLine retrieves line n from string. To retrieve the range of lines n through m, specify n and m. By default, each line in string is separated (delimited) by a Return character. Use the delim argument to specify a different delimiter for the lines, such as the Tab character.

Example:

In this example, a phone number is retrieved from a text file and assigned to the custom variable Phone.

The text file named PHONE.TXT contains:

John<tab>Smith<tab>555-1234<return>Jane<tab>Doe<tab>5555678<return>
Sam<tab>Spade<tab>555-9012<return>

To get the phone number from the string requires three expressions. The first expression reads the file, the second expression gets a line from the FileContents variable, and then the third expression gets a field from the FileLine variable:

FileContents := ReadExtFile("PHONE.TXT")

FileLine := GetLine(FileContents, 2) --gets the second line of the file

Phone := GetLine(FileLine, 3, 3, TAB) --gets the third field of the line, delimited by tabs

The value of FileLine is Jane<tab>Doe<tab>555-5678. The value of Phone is 555-5678.

Note: To use the fourth argument, you must also use the third argument, even if the range of lines is only one line. That's why the number 3 appears twice in the third expression.


GetMovieInstance

Syntax:	identifier:= GetMovieInstance(IconID@"MovieTitle")

GetMovieInstance returns a number that identifies an instance of a QuickTime or AVI movie within Authorware. MovieTitle is the title of the digital movie icon that plays the movie.

Use the identifier with a custom XCMD or UCD to control the movie in ways that aren't available from within Authorware. For example, an XCMD could change the track or language of a QuickTime movie.

When using external functions, don't alter a movie in a way that would undermine Authorware's stability. For example, using an external function to close the movie's driver could have unpredictable results in Authorware.


GetNumber

Syntax:	number := GetNumber(n, "string")

GetNumber returns the numeric value of the nth number in string. If n is not within the range of the numbers in the string, or if Authorware doesn't find a number, GetNumber returns 0.

Example:

The following expression returns "222":

GetNumber (3, "7, 965, 222, 47")


GetProperty

Syntax:	value := GetProperty("window", #property)

GetProperty retrieves the value of a property for the specified window. The argument window is a string containing the name of a window created by an XCMD or UCD (DLL).


GetSpriteProperty

Syntax:	result := GetSpriteProperty(IconID@"SpriteIconTitle", #property)

GetSpriteProperty returns the value of the property for a sprite. Use GetIconProperty to get the value of a property at a sprite icon. Use SetSpriteProperty to set a property of the sprite.

Example:

This statement gets the value of the #Scale property for the sprite the QD3D Globe icon displays:

GlobeSize := GetSpriteProperty(@"QD3D Globe", #Scale)

In this case the value of GlobeSize happens to be a list, [1, 1, 1].


GetTextContaining

Syntax:	string := GetTextContaining(n [, m, maxlen])

GetTextContaining returns the actual word located by FindText, where n defines a particular match, or a range of matches, from the nth match through the mth match. Matches are separated by Return characters; the last match in the range is followed by an end-of-string character, as well.

Specifying a number for maxlen returns the matched word in the context of the surrounding words. The value you assign to maxLen is the maximum length of the text, including the word matched. The resultsInContext parameter of FindText must be set to true to store the context of matches.

To determine what n is, Authorware assigns a value of 1 to the first page that contains a match, 2 to the match after that, and so on.

Example:

This example returns the word found in the fifth match:

string := GetTextContaining(5)

This example returns the word found in the fifth match with the text surrounding it. The total numbers of characters is 20:

string := GetTextContaining(5,5,20)


GetWord

Syntax:	resultString := GetWord(n, "string")

GetWord returns the character string that contains the nth word in string. If n is not within the range of the number of words in the string, GetWord returns an empty (null) string.

Example:

The following expression returns "don't":

string:=GetWord(2,"I don't believe it.")


GoTo

Syntax:	GoTo(IconID@"IconTitle")

When Authorware encounters a GoTo function, it jumps to the icon you specify in IconTitle and continues its presentation from that icon.

Before using the GoTo function, consider using a navigate icon instead. Navigate icons let you move around the flowline at will, and Authorware makes it easy to keep track of the trip. You can

•	Go to any specific icon inside a framework

•	Return to the last icon the user looked at

•	Display a list of icons a user looked at

•	Let a user search for a specific icon and then go to that icon.

Whenever Authorware jumps from one icon to another in response to GoTo, it observes any branching and erasing options set up for the icons involved.

If the icon that is the destination of the jump is a page within a navigation framework, Authorware executes the icons in the entry pane of that framework before executing the icon's contents. If Authorware jumps from a page within a framework, it also executes the icons in the exit pane of that framework before executing the icon to which it jumps.


GoToNetPage

Syntax:	GoToNetPage("URL" [, "windowType"])

GoToNetPage opens the specified URL whether it's a shocked Authorware piece or some other MIME type. Specifying "_self" for windowType or omitting the argument displays the URL in the current browser window and quits the current Shockwave piece. Specifying "_blank" for windowType displays the URL in a new browser window and keeps the current browser window, which is displaying the Authorware piece, open.

Example:

This displays the Macromedia home page in the current browser window and then closes the current piece:

GoToNetPage("http://www.macromedia.com")

This example displays the Macromedia home page in a blank window while keeping the window displaying the current piece open:

GoToNetPage("http://www.macromedia.com", "_blank")

Note: This function works only when the piece is running under the Shockwave Plug-In.


IconFirstChild

Syntax:	ID := IconFirstChild(IconID@"IconTitle" [, flag])

IconFirstChild returns the ID of the first icon in the map icon or the first icon attached to the branching icon you specify in IconTitle. For map icons, this is the top icon. For branching icons, this is the far left icon. If the icon you specify has no attached icons, IconFirstChild returns 0.

Use flag to have the function return information about either the first icon attached to a framework icon or the first icon in the framework window's entry or exit pane. Flag can have these values:

0	The default; returns the ID of the first icon attached to the icon identified by IconTitle.
1	Returns the ID of the first icon in the entry pane of the framework icon identified by IconTitle.
2	Returns the ID of the first icon in the exit pane of the framework icon identified by IconTitle.
Example:

Expression	Returns
IconFirstChild(@"Quiz")	66284
IconFirstChild(@"Module 2")	77800
IconFirstChild(@"Module 2",1)	77901
IconFirstChild(@"Module 2",2)	77100


IconLastChild

Syntax:	ID := IconLastChild(IconID@"IconTitle" [, flag])

IconLastChild returns the ID of the last icon in the map icon or the ID of the last icon that is attached to the branching icon you specify in IconTitle. For map icons, this is the bottom icon. For branching icons, this is the far right icon. If the icon you specify has no attached icons, this function returns 0.

Use flag to have the function return information either about the last icon attached to a framework icon or about the last icon in the framework window's entry or exit pane. Flag can have these values:

0	The default; returns the ID of the last icon attached to the framework icon identified by IconTitle.
1	Returns the ID of the last icon in the entry pane of the framework icon identified by IconTitle.
2	Returns the ID of the last icon in the exit pane of the framework icon identified by IconTitle.
Example:

Expression	Returns
IconLastChild(@"Title sequence")	65590
IconLastChild(@"Quiz")	66405
IconLastChild(@"Module 2" ,1)	77000
IconLastChild(@"Navigation")	77999


IconLogID, IconLogTitle

Syntax:	number := IconLogID(n)
string := IconLogTitle(n, [m])

IconLogID returns the ID of the icon displayed n icons back. IconLogID(0) returns the ID of the current icon, which is the same as the system variable ExecutingIconID.

IconLogTitle returns a string containing the title of the icon presented n icons back, where 0 (the default) is the current icon, 1 is the icon before that, and so on. If you also define m, this function returns the titles of icons that fall within the range of n and m.

Note: To use either IconLogID or IconLogTitle, you must set the system variable IconLog to a value greater than zero.


IconNext

Syntax:	ID := IconNext(IconID@"IconTitle")

In a map, IconNext returns the icon ID of the icon below the icon you specify in IconTitle. In a branching structure, it returns the ID of the icon to the right of the icon you specify in IconTitle. If there is no icon below or to the right, IconNext returns 0.

Example:

Expression	Returns
IconNext(@"Background")	65578
IconNext(@"Title")	0
IconNext(@"Page 3")	77833


IconNumChildren

Syntax:	number:= IconNumChildren(IconID@"IconTitle" [, flag])

IconNumChildren returns a number that shows how many icons are contained in the map icon or attached to the branching icon you specify in IconTitle.

Use flag to have the function return information either about the number of icons attached to an icon or about the number of icons in a framework window's entry or exit pane.

Flag can have these values:

0	The default; returns the number of icons attached to the icon identified by IconTitle.
1	Returns the number of icons in the entry pane of the framework icon identified by IconTitle. The number includes only the icons on the entry pane's flowline, not icons in a map or icons attached to a decision or interaction icon on the flowline. (To find out the number of icons in a map or icons attached to a decision or interaction icon, refer directly to the icon.)
2	Returns the number of icons in the exit pane of the framework icon identified by IconTitle. The number includes only the icons on the exit pane's flowline, not icons in a map or icons attached to a decision or interaction icon on the flowline.
Example:

Expression	Returns
IconNumChildren(@"Title sequence")	4
IconNumChildren(@"Module 2")	4
IconNumChildren(@"Module 2",1)	3
IconNumChildren(@"Module 2",2)	1
IconNumChildren(@"Navigation")	5


IconParent

Syntax:	ID := IconParent(IconID@"IconTitle")

IconParent returns the ID of the parent of the icon you specify in IconTitle. This is either the map icon in which the icon is located or the branching icon to which the icon is attached.

Example:

Expression	Returns
IconParent(@"Movie")	65570
IconParent(@"Wrong")	66280
IconParent(@"Page 4")	77777


IconPrev

Syntax:	ID := IconPrev(IconID@"IconTitle")

In a map, IconPrev returns the ID of the icon above the icon you specify in IconTitle. In a branching structure, which includes navigation frameworks, this function returns the ID of the icon to the left of the specified icon. If there is no icon above or to the left, this function returns 0.

Example:

Expression	Returns
IconPrev(@"Wait 2")	65578
IconPrev(@">|")	77950
IconPrev(@"|<")	0


IconTitle, IconTitleShort

Syntax:	string := IconTitle(IconID)
string := IconTitleShort(IconID)

IconTitle returns the title of the icon you specify in IconID. If the title includes comments (preceded by two dashes), these comments are returned as part of the title.

IconTitleShort is identical to IconTitle, except that it strips any comments from the title.

Example:

If IconTitle(55649) returns "Title--User enters number" then IconTitleShort(55649) returns the name without the comment-"Title".


IconType

Syntax:	number:= IconType(IconID@"IconTitle")

IconType returns a number from 0 to 14, which corresponds to the icon type of the icon you name in IconTitle. The numbers correspond to the following icon types:

0	Invalid icon ID
1	Display icon
2	Animation icon
3	Erase icon
4	Interaction icon
5	Decision icon
6	Map icon
7	Wait icon
8	Calculation icon
9	Digital movie icon
10	Sound icon
11	Video icon
12	Framework icon
13	Navigate icon
14	Sprite Xtra icon
Example:

Expression	Returns
IconType(@"Movie")	9
IconType(@"Wait 2")	7
IconType(@"Quiz")	4


IconTypeName

Syntax:	string := IconTypeName(n)

IconTypeName returns a description of the icon type that corresponds to the number you specify in n. The numbers from 1 to 14 return descriptions as follows:

1	Display	8	Calc
2	Motion	9	Movie
3	Erase	10	Sound
4	Interaction	11	Video
5	Decision	12	Framework
6	Map	13	Navigate
7	Wait	14	Xtra


If-Then

Syntax:	if condition then statement

or	if condition then
statement(s)
end if

or	if condition then statement else statement

or	if condition then
statement(s)
else
statement(s)
end if

or	if condition then
statement(s)
else if condition then
statement(s)
else
statement(s)
end if

An If...Then statement lets you set up a condition and provide Authorware with a specific set of instructions to follow if the condition is true.

In everyday life, you use the equivalent of If...Then scripts all the time. You might say, for example, "If it snows, then I'll go skiing; otherwise, I'll clean the garage." Depending on how much you want to go skiing, you could set up additional conditions, such as "If it snows and I finish my taxes, then I'll go skiing."

You can use similar statements to determine what Authorware does, checking for one or more conditions.

Checking for a single condition

To check for a single condition, use either of these formats:

Single line	if condition then statement
Multiple line	if condition then statement(s) end if
The If portion of an If...Then script first determines whether a condition is true. If it is, Authorware executes the statement or statements that follow. If you check for more than one statement, you must use a separate line for each statement. Also, if you use multiple lines, you must end the If...Then script with end if.

In the following example, if the value of the variable NewUser is true, Authorware starts a video at frame 0. If it's false, Authorware doesn't start the video.

if NewUser then VideoSeek(0)

If the condition is false, Authorware ignores the statement unless you add an else statement that provides other instructions, using one of these formats:

Single line	if condition then statement else statement
Multiple line	if condition then statement(s) else statement(s) end if
For instance, you could add an else statement to the previous example to start the video at a later frame, so the user doesn't have to see the introductory sequence twice.

if NewUser then VideoSeek (0) else VideoSeek (1500)

Example:

This example shows how to use multiple lines to check for a single condition. It also shows how to include comments:

--Set file path based on computer user is running

If Machine=3 then --On Windows

path := "\\records\\score.txt"

else --On Macintosh

path := ":Records:Score"

end if

Checking for more than one condition

The previous examples each use only one condition, whether or not the user is new and regardless of the type of computer that's running Authorware. You can also use If...Then scripts to check for more than one condition. To do that, you need an else if statement, resulting in a format that looks like this:

if condition 1 then

statement(s)

else if condition 2 then

statement(s)

else

statement(s)

end if

Example:

The following example shows how to use an else if statement to count the number of students with scores in each of three categories and to store those totals in three custom variables, Lowscore, Midscore, and Hiscore.

--Count and store the number of low, middle, and

--high scores

if Score < 33 then

Lowscore := Lowscore + 1

else if Score < 66 then

Midscore := Midscore + 1

else

Hiscore := Hiscore +1

end if

If...Then statements compared to the Test function

Although you can use either If...Then scripts or the Test function for some tasks, consider the following differences:

If...Then	Test
Can test multiple expressions	Tests a single expression
Doesn't return a value	Returns a value
Can be used only in a calculation window	Can be used in condition fields in  the dialog boxes
For simple tasks that check for a single condition, which option you choose depends mostly on your preferences. However, for more complex statements or when you want to check for multiple conditions, the Test function can be daunting to write, read, and debug.

The following example shows how to use either the Test function or an If...Then script to determine which of two paths Authorware takes, depending on the value of a user's score.

To use the Test function, you would set up the flowline like this:

Then you would enter this expression in the To Calculated Path field of the decision icon's dialog box:

Test(Score<50, 1, 2)

To use an If...Then script to accomplish the same thing, you would set up the flowline the same way and attach a calculation to the decision icon.

In the calculation window, you would enter this script:

if score<50 then Path := 1 else Path := 2

You would insert the custom variable Path in the To Calculated Path field of the decision icon.

As you can see, the Test function is a little easier when there are only two possible paths. However, consider a similar scenario where you want to display five different segments depending on five different score ranges. It's easier to see the statement's logic when each condition is on a separate line.

Here's how it looks with the Test function:

Test(Score<10,1,Test(Score<20,2,Test(Score<50,3,Test(Score<80,4,Test(Score100,5)))))

Now consider the If...Then script (the custom variable Path goes in the To Calculated Path field of the decision icon):

if Score < 10 then Path:=1

else if Score <20 then Path:=2

else if Score <50 then Path:=3

else if Score <80 then Path:=4

else then Path := 5

end if


InflateRect

Syntax:	InflateRect(rectangle, widthChange, heightChange)

InflateRect changes the dimensions of the rectangle specified. The change is relative to the center of the rectangle. The widthChange parameter specifies how much the rectangle changes horizontally, while the heightChange parameter specifies how much the rectangle changes vertically. The total change in each direction is twice the number specified. For example, a widthChange of 15 increases the rectangle's width by 30 pixels. Negative values reduce the rectangle's size.

Example:

This example increases the width of the rectangle by ten pixels and the height by ten pixels.

Rectangle := Rect(10, 10, 20, 20)

InflateRect(Rectangle, 5, 5)

The rectangle's coordinates are now (5, 5, 25, 25).


Initialize

Syntax:	Initialize([variable1, variable2, É, variable10])

Initialize resets the variables specified to their initial values; you can specify up to ten variables. If you do not include any parameters, Authorware resets all custom variables and any system variables assigned a value.

Use Initialize only in calculation icons. Don't embed it or use it in expressions.

Example:

This function allows you to reset variables when a user exits a sequence so that the user can return and run through the same sequence again. Initializing specific variables allows you to clear or reset certain variables while continuing to change others:

Initialize(Score,TimeOutLimit,UserName)


InsertLine

Syntax:	Result := InsertLine("string", n, "newstring", [delim])

InsertLine returns the string that results from inserting line n in string. If n is zero, newstring becomes the first line. If you specify a value for n greater than the number of lines in string, InsertLine adds additional lines to fill in between the end of string and n.

By default, each line in string is separated (delimited) by a Return character. You can also use the delim argument to specify a different delimiter for the lines, such as the Tab character.

Example:

These statements insert one line in between two others:

String1 := "Monday"^Return^"Wednesday"^Return

String2 := "Tuesday"

String3 := InsertLine(String1, 2, String2)

String3 is "Monday\rTuesday\rWednesday."

These statements insert multiple blank lines into String3:

String1 := ""

String2 := ""

String3 := InsertLine(String1, 9, String2, Tab)

String3 contains nine empty lines delimited by Tabs.


INT

Syntax:	number := INT(x)

INT returns the integer portion of the floating-point number contained in x. Unlike the Round function, INT strips off values past the decimal point rather than rounding the value.

INT also converts x from its current data type into an integer.

Example:

INT(3.14) returns 3.

INT("1a2b3c") returns 123.


Intersect

Syntax:	newRectangle := Intersect(rectangle1, rectangle2)

Intersect creates a new rectangle from the intersection of rectangle1 and rectangle2.

Example:

This example creates a new rectangle from the intersection of two rectangles.

Rectangle1 := Rect(0, 0, 20, 20)

Rectangle2 := Rect(10, 10, 30, 30)

Rectangle3 := Intersect(Rectangle1, Rectangle2)

Rectangle3 is (10, 10, 20, 20).


JumpFile, JumpFileReturn

Syntax:	JumpFile("filename", ["variable1, variable2, É","folder"])
JumpFileReturn("filename", ["variable1, variable2, É","folder"])

JumpFile causes Authorware to jump to the file you specify in filename. The presentation continues from that file. Packaged Authorware files can jump only to other packaged files.

JumpFileReturn also causes Authorware to jump to the file you specify. However, when the user quits or when Authorware encounters a Quit or QuitRestart function (set to 0), Authorware jumps back to the original file.

Use JumpFile and JumpFileReturn either as the only statement or as the last statement in a calculation icon. Don't embed them or use them in an expression.

Tip: 	When jumping to a file, if Authorware cannot find the file in the location you specify, it checks for the file along the search path of the current file. If you store files to which you plan to jump in the same folder as your current Authorware file, you don't need to specify a file location or search path.

You can use JumpFileReturn with any level of nesting. For example, if File1 uses JumpFileReturn to jump to File2, and File2 uses JumpFileReturn to jump to File3, quitting File3 causes File2 to resume, and quitting File2 causes File1 to resume.

Note: You don't need to include the extension of the file to which you plan to jump because Authorware automatically searches for files with an .A4P extension when it executes a jump. Similarly, RunA4W and RunA4M automatically search for files with an .EXE or .A4R extension.

By defining the argument variable in JumpFile, you can pass the value in that variable to the file to which you're jumping. For the JumpFileReturn function, you can use variable to specify which values to pass back to the original file. This is useful when you want to exchange dynamic information, such as a running score, between files. When passing custom variables, make certain that they exist in both files.

If you list several variables, be sure to separate them with commas and enclose the entire list in quotation marks. As a shortcut, you can use an asterisk(*) to list variable names with a common prefix or all variables.

By defining the argument folder in these functions, you can change the value of the RecordsLocation variable from the default location (the A4W_DATA folder in the Windows directory or the RunA4M Data folder in the Preferences folder on the Macintosh). This is the only method of changing the RecordsLocation variable. By defining different folders for user records, you can create a separate records folder for each user.

These functions make it possible to divide your Authorware file into several files and to quickly jump between them. To ease navigation between these files, set up a router application that jumps between the files.

Example:

This statement jumps to the history file and passes the value of subjects:

JumpFile("history", "subjects")

The next statement jumps to the history file, passes no variables, and changes record location:

JumpFileReturn("history", "", FileLocation ^"User Records")

Tip: 	When jumping between files that have the same presentaion window size, Authorware places the file you are jumping to in the same screen location as the file you are jumping from. This provides a better transition between files. To disable this automatic positioning, make one of the file's presentation window one pixel larger than the other.

Note: The Shockwave Plug-In disables JumpFileReturn, which requires writing records to the the user's hard disk, when running in nontrusting mode. The Shockwave Plug-In also prevents you from changing RecordsLocation to a local drive with the JumpFile folder argument.

Note: You can pass a URL as a parameter to this function only when running under the Shockwave Plug-In.


JumpOut, JumpOutReturn

Syntax:	JumpOut("program", ["document"] [,"creator"]))
JumpOutReturn("program", ["document"] [,"creator"])

JumpOut opens the application you specify in program and quits Authorware. JumpOutReturn also launches another application, but Authorware continues its presentation in the background.

Use JumpOut and JumpOutReturn only in calculation icons. Don't embed them or use them in expressions.

When you specify the argument program, be sure to use the application's exact name. On Windows, it is also a good idea to specify the application's extension. Unless the application to which you are jumping is stored in the same folder as the Authorware file or Windows' search path, you'll need to specify the program's path.

The optional argument document opens the other application with a specific file. It's best to store this file in the same folder as the Authorware file; otherwise, you'll need to specify a path as part of the argument. If you specify only document without also specifying program, Authorware prompts you to locate the appropriate application.

The optional third argument, available on the Macintosh, specifies the application's creator type (a four-character code) and helps Authorware locate the application on the user's system. It is useful to include the creator type if users may have changed the names or locations of the program files. If you have ResEdit, to find out a program's creator type use the Get Info command. If you don't want to specify a document, but you're including a creator type, insert a null string for the first argument.

Use JumpOut and JumpOutReturn to create a router to other applications. Or use JumpOutReturn to allow users to use another application during an Authorware presentation.

To jump to other Authorware files (rather than to other applications) use the JumpFile and JumpFileReturn.

Example:

The following statement launches the Windows write application with the data.txt file:
JumpOutReturn("write.exe","data.txt")

This next statement opens the data.txt file with Simple Text on the Macintosh:
JumpOutReturn("", "data.txt", "ttxt")

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function.


JumpPrintReturn

Syntax:	JumpPrintReturn(["program"], "document" [, "creator"])

JumpPrintReturn opens the application you specify in program and prints the file you specify in document. When the other application is launched, its print options appear. After printing, Authorware continues its presentation.

Use JumpPrintReturn only in calculation icons. Don't embed it or use it in expressions.

If you insert an empty string ("") for program, Authorware selects an application capable of printing the file. If it can't find such a program, Authorware displays a standard file dialog box that prompts the user to select a program to print the file.

The optional third argument, available on the Macintosh, specifies the application's creator type (a four-character code) and helps Authorware locate the application on the user's system. It is useful to include the creator type if users may have changed the names or locations of the program files. If you have ResEdit, to find out a program's creator type use the Get Info command. If you don't want to specify a document, but you're including a creator type, insert a null string for the first argument.

As with JumpOut and JumpOutReturn, be sure to specify the exact file names and, on Windows, any filename extensions. Unless the application and document to which you're jumping are stored in the same folder as the Authorware file, you'll also need to specify a path.

Example:

The following statement prints the Windows write application with the data.txt file:
JumpPrintReturn("write.exe","data.txt")

The next statement prints the data.txt file with Simple Text on the Macintosh:
JumpPrintReturn("", "data.txt", "ttxt")

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function.


Keywords

Syntax:	string := Keywords(IconID@"IconTitle")

Keywords returns all keywords attached to the icon you specify, with each keyword separated by a Return character. To assign keywords, select an icon and choose Modify > Icon > Keywords.


LayerDisplay

Syntax:	LayerDisplay(LayerNumber [,IconID@"IconTitle"])

Use LayerDisplay to change the layer number assigned to objects contained in display and digital movie icons. Authorware automatically places objects other than digital movies in layer 0. It automatically places digital movie objects in layer 1, unless you select the Direct to Screen option in the digital Movie Icon's Properties dialog box, which moves that movie to the highest layer number, in front of all other objects.

The higher the layer number, the further forward the object is. Display objects move into the animation layer while you are animating them. Specify a different layer for an animating object in the Layer field of the Motion Icon Properties dialog box.

You can also define the layer for each object in the Properties dialog box for that icon. (Choose Modify > Icon > Properties.) To change the layer of a button or text entry field, assign the layer to the interaction icon for the button or text entry field.

LayerDisplay moves a display icon or digital movie icon to the layer you specify, according to these rules:

•	To define the layer of a display icon or digital movie icon that is not yet displayed, attach a calculation to the icon and enter the function using the syntax LayerDisplay(LayerNumber). (The function must be in an attached calculation.) This has the same effect as defining a value in the Layer field in the Properties dialog box, except that you can update the expression's value in the Properties dialog box after the object is displayed, which moves the object to the new layer.

•	If the display or movie is already displayed, use the syntax LayerDisplay(LayerNumber, @"IconTitle") to specify the icon whose layer you want to change.

Tip: 	If you animate a display object and the beginning of the animation is not smooth, assigning a layer number greater than 0 can solve the problem. However, if you do this to too many objects, it will affect performance.


Line

Syntax:	Line(pensize, x1, y1, x2, y2)

Line draws a line on the screen from position x1, y1 to position x2, y2 with the line width specified by pensize. The line is black unless you change the color with the SetFrame function. Setting pensize to -1 draws a black line regardless of the SetFrame function.

Use Line only in calculation icons. Don't embed it or use it in expressions.

Example:

This example uses the variables LastX and LastY to draw two lines connected at one end:

Line(1,100,100,250,150)
Line(1,LastX,LastY,LastX+100,LastY+100)


LineCount

Syntax:	number := LineCount("string"[, delim])

LineCount returns the number of lines in string, excluding any empty lines at the end. By default, Return characters separate (delimit) the lines. Use delim to specify a different line delimiter, such as the Tab character.

This function is useful for finding out how many different data items are stored in a single character string.

Example:

This example shows how to find the total number of users stored in the custom variable UserData, assuming that Return characters separate the strings for individual users:

TotalUsers := LineCount(UserData)


ListCount

Syntax:	number := ListCount(anyList)

ListCount returns the number of elements in the top level of a list. The result is 0 if the parameter is not a list.

Example:

List := [10, 20, 30]

ItemCount := ListCount(List)

ItemCount is 3.

List := [[10, 20, 30], [70, 80, 90]]

ItemCount := ListCount(List)

ItemCount is 2.


LN, LOG10

Syntax:	number := LN(x)
number := LOG10(x)

LN returns the natural logarithm of x. LOG10 returns the base 10 logarithm of x.


LowerCase

Syntax:	resultString := LowerCase("string")

LowerCase returns the string that results from converting all uppercase letters in string to lowercase letters.

LowerCase and UpperCase are useful when you work with the Find function, which is case sensitive.

Example:

In this example, Authorware changes an author's name, contained in the custom variable author, to his preferred spelling:

author := E. E. Cummings

author := LowerCase(author)

E. E. Cummings becomes e. e. cummings.


MapChars

Syntax:	string := MapChars("string", fromPlatform [, toPlatform])

MapChars performs character mapping from the fromPlatform to the toPlatform for each character in the string, based on the character mapping tables currently active for the piece. Platform values are 0=current, 1=Windows, 2=Macintosh. The default for toPlatform is "current" if not specified.

Example:

The following statements map the contents of Chapter1 from the Macintosh character set to the current platform:

FileString := ReadExtFile(FileLocation^"Chapter1")

DisplayString := MapChars(FileString, 2)


Max

Syntax:	value := Max(anyList)

value := Max(a [, b , c, d, e, f, g, h, i, j])

Max returns the largest value in a list or the value of the largest argument. When you specify multiple arguments, Max evaluates the contents of a list as 0.

Example:

List := [10, 20, 30]

LargestValue := Max(List)

LargestValue is 30.

LargestValue := Max(List, 3)

LargestValue is 3.

LargestValue := Max(List, -3)

LargestValue is 0.


MediaPause

Syntax:	MediaPause(IconID@"IconTitle", pause)

MediaPause pauses or resumes the digital movie or sound contolled by IconTitle. When pause is true, MediaPause pauses the movie or sound. When pause is false, MediaPause starts playing the movie or sound again from the pause point.

Example:

See the example for MediaPlay.


MediaPlay

Syntax:	MediaPlay(IconID@"IconTitle")

MediaPlay starts playing the media (digital movie, video clip, or sound) contained in IconTitle. If the media is already playing, MediaPlay restarts it.

Example:

This example uses MediaPlay, MediaPause, and MediaSeek to create video transport controls . The calculation icons contain the following logic for the controls:

•	Play contains MediaPlay(@"chart"), which plays the movie.

•	Pause contains MediaPause(@"chart",TRUE), which pauses the movie.

•	Go to 2nd Upward Trend contains MediaSeek(@"chart",14), which advances the movie to frame 14.

•	Go to 3rd Upward Trend contains MediaSeek(@"chart",29), which places the movie at frame 29.


MediaSeek

Syntax:	MediaSeek(IconID@"IconTitle", position)

MediaSeek sets the current playback position for the given digital movie, video, or sound icon. For movie and video icons, specify the value of position in frames. For sound icons, specify the value of position in milliseconds.

Example:

See the example for MediaPlay.


Min

Syntax:	value := Min(anyList)

value := Min(a [, b, c, d, e, f, g, h, i, j])

Min returns the smallest value in a list or the value of the smallest argument. This function accepts up to ten arguments. When you specify multiple arguments, Min evaluates the contents of a list as 0.

Example:

List := [10, 20, 30]

SmallestValue := Min(List)

SmallestValue is 10.

SmallestValue := Min(List, 3)

SmallestValue is 0.

SmallestValue := Min(List, -3)

SmallestValue is -3.


MOD

Syntax:	number := MOD(x, y)

MOD returns the remainder of x/y.

Example:

Use MOD to convert 24-hour time to 12-hour time.

To convert 2300 hours to 11:00 PM:

Hours := Mod(2300/100,12)


Month

Syntax:	number := Month(number)

Month returns the number of the month by calculating the number of days, using the number of days since January 1, 1900, as the basis. Valid input includes the following range of numbers:

Windows	25568 to 49709 (January 1, 1970 through June 2, 2036)
Macintosh	1461 to 51171 (January 1, 1904 through June 2, 2040)
Example:

The following returns the month number for January 1, 1970:

result := Month(25568)

The result is 1.


MonthName

Syntax:	string := MonthName(number)

MonthName returns a character string that contains the name of the month, using the number of days since January 1, 1900, as the basis and then converting that number into the name of the month. Valid input includes the following range of numbers:

Windows	25568 to 49709 (January 1, 1970 through June 2, 2036)
Macintosh	1461 to 51171 (January 1, 1904 through June 2, 2040)
Example:

The following returns the month name for January 1, 1970:

result := Month(25568)

The result is "January".


MoveWindow

Syntax:	MoveWindow(top, left)

MoveWindow moves the presentation window so that its upper left corner is positioned at the location you specify in top and left.

Use MoveWindow only in calculation icons. Don't embed it or use it in expressions.

Use this function with General category system variables such as WindowHeight, WindowWidth, WindowTop, and WindowLeft to provide information about the size and location of the presentation window.

Tip: 	To make the presentation window appear in a certain location, position the window at that location before you save and package the file.


NetDownload

Syntax:	string := NetDownload("URL")

NetDownload downloads the file specified in URL to the local hard drive, and returns the path and name of the file on the local drive. NetDownload downloads files to the put location you set in the map file. If the map file doesn't have an entry for the file, NetDownload will download the file to the DOWNLOAD subfolder of the folder containing the Authorware Shockwave Plug-In.

Use NetDownload along with the onDemand option in the map file so a file isn't downloaded until the piece needs it.

Example:

The following statement downloads the README.TXT file and returns the pathname to a variable named string:

string:= NetDownload("http://www.company.com/readme.txt")

Note: NetDownload works only when running under the Shockwave Plug-In.

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function.


NetPreload

Syntax:	NetPreload(IconID@"IconTitle")

NetPreload initiates the asynchronous transfer of the Shockwave segment that contains the specified icon. NetPreload differs from Preload in that the Shockwave Plug-In doesn't bring the data into its memory. Instead, the Shockwave Plug-In transfers the segment(s) associated with the icon over the network and stores them until needed.

If IconTitle is a map, interaction, decision, or framework icon, the Shockwave Plug-In transfers all icons attached or within IconTitle. You could transfer the entire file by specifying RootIcon as IconTitle.

Note: NetPreload works only when running under the Shockwave Plug-In.


NewObject

Syntax:	object := NewObject("Xtra" [, arguments...])

NewObject creates a new instance of the scripting Xtra and calls this new method of the instance with the arguments.

Example:

These statements create a child instance of the file I/O object to open a file:

ChildInstance := NewObject("fileio")

CallObject(ChildInstance, "openFile", MyFile, 0)


Next Repeat

Syntax:	Next Repeat

Next Repeat skips over any remaining statements in a Repeat loop and immediately starts to execute the loop again from the top. Use Next Repeat anywhere inside the body of a Repeat loop.

Example:

See the Repeat With example.


Number

Syntax:	number := Number(x)

Number converts x from its current data type into a number, either real or integer.

Example:

Number("1a2b3c") returns 123.


NumCount

Syntax:	number := NumCount("string")

NumCount returns a count of the numbers found in string. Authorware recognizes the end of a number when it finds a space or a nonnumeric character.

Authorware automatically stores the total count of numbers in the user's last text response in the system variable also called NumCount.

Example:

This shows how NumCount counts the numbers in a string:

NumberTotal := NumCount("Greg11Peter22Bobby33Marcia44Jan55Cindy66")

The variable NumberTotal contains 6.


OffsetRect

Syntax:	NewRectangle := OffsetRect(rectangle, x, y)

OffsetRect creates a new rectangle offset from the rectangle specified. X is the horizontal offset specified in pixels; Y is the vertical offset. When X is greater than zero, the offset is toward the right of the presentation window; when X is less than zero, the offset is toward the left. When Y is greater than zero, the offset is toward the bottom of the presentation window; when Y is less than zero, the offset is toward the top.

Example:

This creates a new rectangle 10 pixels to the right and 20 pixels toward the bottom of the screen:

NewRectangle := OffsetRect(Rect, 10, 20)


OLEDoVerb

Syntax:	OLEDoVerb(IconID@"IconTitle" [, "verb"])

OLEDoVerb activates the verb you specify for the first OLE object in an icon. If you don't specify the verb, it activates the primary verb. The primary verb is what the object does by default-usually Edit-and is determined by the application that created the object.
To find out the primary verb, and any other verbs for an object, use the OLEGetObjectVerbs function.

Use OLEDoVerb to activate an object at run time, without waiting for the user to activate it.

Note: While you can use the OLE system functions in your piece on the Macintosh, Authorware supports OLE functionality only under Windows.

Example:

This expression activates the edit verb for the first OLE object in the graphic icon:
OLEDoVerb(@"graphic","Edit")

This expression activates the primary verb for the first OLE object in the graphic icon:
OLEDoVerb(@"graphic")


OLEGetObjectVerbs

Syntax:	string := OLEGetObjectVerbs(IconID@"IconTitle")

OLEGetObjectVerbs returns a list of all verbs that apply to the first OLE object in the given display icon. The first verb in the list is the primary, or default, verb. Return characters separate the items in the list, so each appears on its own line.

Use OLEGetObjectVerbs to show which verbs are available for an object. Use GetLine to select a verb from the list and then use the verb with OLEDoVerb to activate the verb rather than the primary verb.

Note: While you can use the OLE system functions in your piece on the Macintosh, Authorware supports OLE functionality only under Windows.

Example:

For example, the expression returns EditOpen. :

string := OLEGetObjectVerbs(@"graphic")


OLEGetTrigger

Syntax:	number := OLEGetTrigger(IconID@"IconTitle")

OLEGetTrigger returns a number that corresponds to the user action you set up to trigger an OLE object, as follows:

0	No trigger. The user cannot trigger the object; only the OLEDoVerb system function can trigger it.
1	The user triggers the object with a single-click.
2	The user triggers the object with a double-click.
Use OLEGetTrigger to find out how the trigger for an object is set-whether the user can activate an object, and if so, whether a single- or a double-click does the trick. To change the trigger, use the OLESetTrigger function.

Note: While you can use the OLE system functions in your piece on the Macintosh, Authorware supports OLE functionality only under Windows.


OLEGetTriggerVerb

Syntax:	string := OLEGetTriggerVerb(IconID@"IconTitle")

OLEGetTriggerVerb returns the trigger verb for the first OLE object in the display icon you specify in IconTitle.

Use OLEGetTriggerVerb to find out what verb is activated when the user clicks the object, or when the object is triggered by the OLEDoVerb function.

Note: While you can use the OLE system functions in your piece on the Macintosh, Authorware supports OLE functionality only under Windows.


OLEIconize

Syntax:	OLEIconize(IconID@"IconTitle", iconize)

OLEIconize displays the first OLE object in a display (identified by IconTitle) as an icon (iconize is true) or fully (iconize is false).

Use OLEIconize to keep your displays uncluttered while providing a visual reminder that the user can do more with this display.

Note: While you can use the OLE system functions in your piece on the Macintosh, Authorware supports OLE functionality only under Windows.

Example:

This expression sets the OLE spreadsheet object in the icon Report to appear as an icon of the spreadsheet application:
OLEIconize(@"Report", true)

To display the OLE object just as it appears in the application that created the spreadsheet, use this expression:
OLEIconize(@"Report", false)


OLESetAutoUpdate

Syntax:	OLESetAutoUpdate(IconID@"IconTitle", update)

OLESetAutoUpdate sets the first OLE object in the display, IconTitle, to update automatically or manually.

When update is true and Authorware is displaying the OLE object, the OLE object updates automatically whenever you update the file to which it's linked. When update is false, the OLE object updates only when you use the OLEUpdateNow function to update it.

Note: While you can use the OLE system functions in your piece on the Macintosh, Authorware supports OLE functionality only under Windows.

Example:

To update the spreadsheet object in the Report icon automatically, whenever the file that contains the object is updated, use this expression:

OLESetAutoUpdate(@"Report", true)


OLESetTrigger

Syntax:	OLESetTrigger(IconID@"IconTitle", [trigger])

OLESetTrigger sets the trigger action for the first OLE object in a display icon. Use one of the following values for trigger:

0	The user can't trigger the object; it can be triggered only by the OLEDoVerb system function.
1	The user triggers the object with a single-click.
2	The user triggers the object with a double-click.
Use this function to define how the user can activate an OLE object.

If you don't specify a trigger, the default value is 1. You can retrieve the current setting with the OLEGetTrigger function.

Note: While you can use the OLE system functions in your piece on the Macintosh, Authorware supports OLE functionality only under Windows.

Example:

This expression sets the OLE object at the icon Display to trigger when the user double-clicks it.

OLESetTrigger(@"Display", 2)


OLESetTriggerVerb

Syntax:	OLESetTriggerVerb(IconID@"IconTitle" [, "verb"])

OLESetTriggerVerb assigns verb to the first OLE object in IconTitle. Authorware activates the verb when the user triggers the OLE object. If you don't specify a verb, Authorware sets the verb to the primary verb for the object.

Use OLESetTriggerVerb to define how objects respond either to the user or to the OLEDoVerb function.

Note: While you can use the OLE system functions in your piece on the Macintosh, Authorware supports OLE functionality only under Windows.

Example:

This expression sets the OLE object in the given icon so that when the user triggers it, the document opens in Word for editing:
OLESetTriggerVerb(@"WordDocument","Open")

This expression sets the object in the current icon to open when triggered, displaying the user interface of the application that created the object:
OLESetTriggerVerb("Open")


OLEUpdateNow

Syntax:	OLEUpdateNow(IconID@"IconTitle")

OLEUpdateNow updates the first linked OLE object in the display identified by IconTitle. Use it to update objects without any action from the user.

Note: While you can use the OLE system functions in your piece on the Macintosh, Authorware supports OLE functionality only under Windows.

Example:

This expression updates the OLE spreadsheet object in the icon Report:

OLEUpdateNow(@"Report")


Overlapping

Syntax:	condition := Overlapping(IconID@"IconTitle", IconID@"IconTitle")

Overlapping returns a value of true if the graphic objects in the icons you specify overlap. It also works with movies and graphics posted in calculation icons.

Example:

When you allow users to move objects or you've created a target area interaction, it's sometimes important to know whether objects overlap; if they do, you can animate one of them or present a message to the user. This example checks whether the contents of display icon Object1 overlap the contents of display icon Object2:

Overlap := Overlapping(@"Object1", @"Object2")


PageContaining

Syntax:	ID:=PageContaining(IconID@"IconTitle"[,@"framework"])

PageContaining returns the icon ID of the page that contains the icon you specify. Specify the framework argument if you want to know whether the icon is within a particular framework. The function then returns the ID of the page if it is within the given framework, or 0 if it is not within the given framework.

PageContaining is often used with two other functions-FindText, which returns the pages that contain found text, and PageFoundID, which returns the icon IDs of those pages.

Example:

The following statement returns the icon ID of the page containing the icon Examples.1.
ID := PageContaining(@"Examples.1")

Here's how to ask if the page Examples.1 is contained by the framework Main Menu:
ID := PageContaining(@"Examples.1",@"Main Menu")


PageFoundID

Syntax:	ID := PageFoundID(n)

After using the FindText function, use PageFoundID to return the ID of an icon that contains a match, where n defines a particular match. To determine what n is, Authorware assigns a value of 1 to the first page that contains a match, 2 to the match after that, and so on.

Example:

This expression returns the icon ID of the page that contains the fifth match:

ID := PageFoundID(5)


PageFoundTitle

Syntax:	title := PageFoundTitle(n [,m])

PageFoundTitle returns the title of the icon that contains a match, where n defines a particular match or a range of titles from the nth match through the mth match. To determine what n is, Authorware assigns a value of 1 to the first page that contains a match, 2 to the match after that, and so on. Return characters separate the icon titles and an end-of-string character (0) follows the last title.

Use PageFoundTitle to look at which pages contain matches from a text search. Once you know which pages contain matches, you can use PageFoundID to get the unique icon IDs for those pages.

Example:

This expression returns the title of the page that contains the seventh match:
title := PageFoundTitle (7)

This expression returns the titles of the pages that contain matches 2 through 25:
title := PageFoundTitle (2,25)


PageHistoryID

Syntax:	ID := PageHistoryID(n [,m])

PageHistoryID returns the icon ID of the page specified by n, where 1 is the page displayed most recently, 2 is the page before that, and so on. If you also define m, this function returns the titles of pages that fall within the range. Return characters separate the Icon IDs and an end-of-string character (0) follows the last ID in the range.

To determine the order of a particular page, Authorware uses a list (called a history) of pages displayed. Set the maximum number of pages in the history list by choosing Modify > File > Navigation Setup.

Example:

This statement returns the icon ID of the twenty-fifth page in the history:

ID := PageHistoryID(25)


PageHistoryTitle

Syntax:	title := PageHistoryTitle(n [,m])

PageHistoryTitle returns the icon title of the page specified by n, where 1 (the default) is the page displayed most recently, 2 is the page before that, and so on. If you also define m, this function returns the titles of pages that fall within the range. Return characters separate the titles and an end-of-string character (0) follows the last title in the range.

To determine the order of a particular page, Authorware uses a list (called a history) of pages displayed. Set the maximum number of pages in the history list by choosing Modify > File > Navigation Setup.

Example:

This statement returns the icon titles of the second to the twentieth pages in the history:

title := PageHistoryTitle(2,20)


Point

Syntax:	MyPoint := Point(x, y)

Point creates a point at the pixel location x, y.


PointInRect

Syntax:	result := PointInRect(rectangle, point)

PointInRect returns a value of true if the point specified is within the rectangle specified, or false if it is not.


Preload

Syntax:	number := Preload(IconID@"IconTitle" [, option])

Preload loads into memory all data required to execute the icon you specify including graphics, sounds, sprite Xtras, and digital movies. For external movie files, Preload opens the driver and file but does not load the entire file into memory. If IconTitle is a map, interaction, decision, or framework icon, Authorware preloads all icons attached or within IconTitle. You could preload the entire file by specifying RootIcon as IconTitle.

The option argument only applies to external files. The default value for option is 1, which loads an external file (except for movies) into memory. If option is 0, Authorware preloads the internal icon data needed to execute IconTitle but does not load the external file into memory.

When loading more than one icon, Preload loads as many as can fit in memory and then stops. The value returned in number indicates how many icons it loaded. If it loaded all the icons, Preload returns a positive number. If it didn't load all the icons, it returns a negative number indicating how many icons it did load. If it loaded no icons, it returns 0.

There is no guarantee that preloaded data will remain in memory. If Authorware needs to use the memory later, it discards data, starting with the least recently used item. In fact, if you preload icons independently, loading one may cause the previous one to be discarded if there is not enough memory. It's usually best to put icons in a map so they can be loaded with one call. If you must load them independently, load the most important or first-used icons last.

Preload is useful for performance tuning. Its main function is to preload graphics, digital movies, or sounds so that they are ready when needed. This is especially helpful in working with networks, CD-ROMs, and the Internet, where file access can slow performance. Using this function to best advantage may take some experimenting to get the proper balance between preloaded data and available memory. Don't forget that you have more memory available when you run a packaged file, so do some testing of the packaged file too.

The best point at which to use Preload is during a pause in presentation while the user reads or absorbs material. That way, the time it takes to preload doesn't interrupt the user's activities.


PressKey

Syntax:	PressKey("keyname")

PressKey presses the key specified in keyname as if the user had pressed it on the keyboard. Enclose the key name in quotation marks.

Example:

Use PressKey to generate a user response. For example, in a text response, use PresetEntry to preload the text entry area, and then use PressKey to automatically select the answer:

PressKey("Return")


PrintScreen

Syntax:	PrintScreen()

PrintScreen prints the screen on the currently selected printer using the current print options.

Use PrintScreen only in calculation icons. Don't embed it or use it in expressions.

Example:

Use this function to make a Print button available at certain points in your file, so that the user can print what is on the screen. To do this, attach a calculation icon to an interaction icon, define the calculation icon as a button response type, and name the button "Print." In the calculation icon, enter the following statement:

PrintScreen()

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function.


PropertyAtIndex

Syntax:	Property := PropertyAtIndex(propList, index)

PropertyAtIndex returns the property of the element at the index. It returns a null value if the specified index is out of range or the first argument is not a property list.

Example:

PropList := [#a:77, #b:88, #c:99]
Property := PropertyAtIndex(PropList, 1)
Property is #a.

Property := PropertyAtIndex(PropList, 2)
Property is #b.


PurgePageHistory

Syntax:	PurgePageHistory()

PurgePageHistory clears the page history, which consists of the icon IDs and icon titles the user has displayed. Use this function when you want to start a new page history.


Quit, QuitRestart

Syntax:	Quit([option])
QuitRestart([option])

Quit immediately exits the file. What happens next depends on the option you select.

0	(Default) Quits Authorware and displays the Program Manager (Windows 3.1), Desktop (Windows 95 and NT 4.0), or Finder (Macintosh). If the Authorware file that quits was called by a jump from another Authorware file, Authorware now returns to the other file.
1	Quits Authorware and displays the Program Manager (Windows 3.1), Desktop (Windows 95 and NT 4.0), or Finder (Macintosh).
2	Restarts Windows (Windows 95 and Windows NT), exits to DOS (Windows 3.1), or restarts the computer (Macintosh).
3	Shuts down Windows (Windows 95 and Windows NT), quits Authorware and displays the Program Manager (Windows 3.1), or shuts down the computer (Macintosh).
QuitRestart works the same as Quit, except that when Authorware resumes the file, it starts at the beginning, even if the file was set to Resume in the File Setup dialog box. Upon restarting, Authorware sets all variables to their initial values.

Use Quit and QuitRestart only in calculation icons. Don't embed them or use them in expressions.

When you use Quit or QuitRestart in an unpackaged file, Authorware stops running the file and displays the design window.

Example:

Place Quit in a calculation icon at the end of the file or in a perpetual button response to allow the user to quit the file at any time.

Use QuitRestart to let the user either restart or resume upon returning to the file after quitting (first set the file to Resume in the File Properties dialog box).

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables Quit(2), Quit(3), QuitRestart(2), and QuitRestart(3).


Random

Syntax:	number := Random(min, max, units)

Random returns a random number between min and max in multiples of units.

This expression generates random numbers in tenths between 1 and 10:

Random(1,10,.1)


ReadExtFile

Syntax:	string := ReadExtFile("filename")

ReadExtFile reads the file specified in filename and returns the file's contents as a character string. It reads the file in ASCII (text only) format and stores the character string along with any Return, Tab, or other special characters in the variable string.

When specifying a URL for the path to filename, it must be an absolute URL that begins with either http://servername or file:///. You can pass a URL as a parameter to this function only when running under the Shockwave Plug-In.

Use ReadExtfile only in calculation icons. Don't embed it or use it in expressions.

You typically use the contents of string to do something else, such as embedding in a display or extracting parts of the text, using the Character category functions.

When you use ReadExtFile, Authorware updates two system variables, IOStatus and IOMessage. If no error occurs, IOStatus contains 0 and IOMessage is empty. If an error occurs, the operating system defines the number that appears in IOStatus and the message that appears in IOMessage.

Example:

The following statement reads the contents of data.txt into UserData.

UserData := ReadExtFile(RecordsLocation^"data.txt")

The following statement reads the contents of data.txt from myserver.com into UserData:

UserData := ReadExtFile("http://myserver.com/folder/data.txt")

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function if the file specified is on a local drive. For example, ReadExtFile("c:\payroll.txt") would be disabled, but ReadExtFile("http://www.myserver.com/payroll.txt") would not.


Real

Syntax:	realNum := Real(x)

Real converts x from its current data type into a real number.

Example:

Real("3.14") returns 3.14.

Real("1a2b3c") returns 123.


Rect

Syntax:	MyRect := Rect(value1, value2, value3, value4)

MyRect := Rect(point, point)

Rect creates a rectangle at the specified values or points. Rectangles and points are a limited form of list. However, you cannot use rectangles in place of arguments for other functions. For example, the draw function Box(pensize, x1, y1, x2 ,y2) does not accept rectangles, points or any list, even though a rectangle defines four points; x1, y1, x2, y2.


Reduce

Syntax:	resultString := Reduce("set", "string")

Reduce returns the string that results from reducing to a single character any multiple contiguous occurrences of the character you specify in set within the text defined by string.

Example:

The following expression returns "Having fun?":
result := Reduce("vn","Havving funnnn?")

This example shows how to use Reduce to get rid of extra spaces:
result := Reduce(" ","The     rain     in     Spain")
The resulting string is "The rain in Spain".


RenameFile

Syntax:	number := RenameFile("filename", "newfilename")

RenameFile renames the file you specify in filename with the name you specify in newfilename. Authorware ignores any path information included in newfilename.

When you use RenameFile, Authorware updates two system variables, IOStatus and IOMessage, and returns the value of IOStatus. If no error occurs, IOStatus contains 0 and IOMessage is empty. If an error occurs, the operating system defines what number appears in IOStatus. If IOStatus is not 0, IOMessage contains the error message.

Example:

This example renames the file "UserInfo" as "NewInfo":

RenameFile(RecordsLocation^"UserInfo","NewInfo")

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function.


RepeatString

Syntax:	resultString := RepeatString("string", n)

RepeatString returns the string that results from repeating string for n times.

Example:

This statement repeats the pattern three times:

String := RepeatString("01",3)

String is "010101".


Repeat With, Repeat With x In list, Repeat While

Syntax:	repeat with counter := start [down] to finish
statement(s)
end repeat

repeat with element in anyList
statement(s)
end repeat

repeat while condition
statement(s)
end repeat

Use repeat loops to repeat an action, for as long as a condition is true or for a set number of times.

Use Repeat While to set up loop structures that repeat an action until a condition changes. Use Repeat With statements to repeat an action a given number of times. For additional control, add Next Repeat to skip over statements or Exit Repeat to exit the repeat loop.

Creating Repeat With loops

Repeat With repeats an action a set number of times. Define the number of times Authorware repeats the action as a range, starting either at the beginning of the range (from n to m) or at the end of the range (from m down to n). Define the range either with constants (1 to 10) or with expressions (LineCount(text) down to 1).

Each time Authorware repeats the loop, it adds 1 to the counter until it reaches the end of the range. If you use the down to option, you set the counter at the top number in the range and Authorware subtracts 1 each time through the loop.

The basic syntax is this:

repeat with counter := start [down] to finish

statement(s)

end repeat

Example:

This example shows how to repeat a beep five times. Each time through the loop, Authorware evaluates the statement and increases the value of the counter by 1. When the value reaches 5, Authorware exits the loop:

repeat with i := 1 to 5

beep()

end repeat

Because you can't see how Authorware executes repeat loops, you may want to use the Trace function to track down any problems. The Authorware Control Panel window displays information about every icon as Authorware executes it. In the previous example, you could include this expression in the calculation icon to display the value of the counter each time Authorware repeats the loop:

Trace("i is " ^ i)

For more information, see Trace on page 518.

Using Repeat With X In List

Repeat With X In List repeats the statements in the loop with each of the elements in a list. Each time through the loop the function assigns the next element in the list or the next value in a property to the variable specified. Since Authorware evaluates the list count each time through the loop, statements that change the list inside the body of the repeat may affect the loop. Authorware keeps a reference to the original list for the duration of the loop. This means that the list persists at least for the duration of the loop.

The basic syntax is:

repeat with variable in list

statement(s)

end repeat

Example:

In this example, each loop assigns an element of the list to X. The value of X at the end is 60.

List := [10, 20, 30]

Total := 0

repeat with X in List

Total := Total + X

end repeat

In this example, the statements add an element to the list, which causes the repeat to loop four times instead of three. The value of List when the loop finishes is
[10, 20, 30, 40].

List := [10, 20, 30]

repeat with X in List

Trace(X)

if X < 20 then AddLinear(List, 40 , 4)

end repeat

Creating Repeat While loops

Repeat While repeats an action as long as the condition you set is true. Each time Authorware repeats the loop from the top, it tests for the condition. When the condition changes, Authorware exits the loop.

The basic syntax is this:

repeat while condition

statement(s)

end repeat

Example:

For example, the following statements find an empty line in a string:

i := 1

repeat while GetLine(MyString, i)<>""

i:= i+1

end repeat

When Authorware encounters this statement, it sets the value of i to 1. Each time it checks a line in MyString, it adds 1 to this value and searches the next line; when it finds one with a null value, it exits the loop.

Using Next Repeat and Exit Repeat

Use Next Repeat and Exit Repeat anywhere inside the body of a repeat loop. Next Repeat skips over any remaining statements in the loop and immediately starts to execute the loop again from the top. Exit Repeat exits the repeat loop and executes the next statement in the calculation icon. If there are no other statements, Authorware exits the calculation icon.

Example:

In this example, Authorware stores the value of the variable NewValue in the first empty line it finds in MyString and then exits the repeat loop:

repeat with i := 1 to 10

if GetLine(MyString, i)="" then

MyString:=ReplaceLine(MyString, i, NewValue)

exit repeat

end if

end repeat

Nesting repeat loops

You can nest repeat loops-for example, to repeat an action for a given number of times while a condition is true. If the condition changes, Authorware exits the calculation icon, even if it has not completed the number of repetitions you set with the Repeat With statement.

You need a separate end repeat statement for each nested loop. If a repeat loop script contains nested repeat loops, the next repeat and exit repeat statements apply only to the innermost repeat loop in which they occur.

Interrupting repeat loops

Be careful not to use expressions that result in loops that Authorware can't exit. For example, don't use variables in the condition statement that depend on user input (such as MouseDown). Because Authorware doesn't execute anything outside the calculation icon or respond to user input while executing the loop, the value of MouseDown will never change to true-and Authorware will never exit the loop. If you want Authorware to respond to user input while executing a loop, set up loops using a decision icon instead of using repeat loops.

To interrupt the execution of a calculation icon while you're authoring, so you can break out of problem loops and change them, press Control-Break (Windows) or Command-Period (Macintosh). These key combinations don't work for packaged files. There is no way to interrupt a calculation icon in a packaged file.

Repeat loop scripts compared to decision icon loops

The biggest advantage of using repeat loop scripts rather than creating the same logic with a decision structure is that repeat loop scripts greatly increase performance. Using scripts also has the advantage that all the logic is in a single location, rather than being split up in calculation icons, condition fields, and paths. In many cases, that makes repeat loop scripts easier to write, understand, and debug. However, you can't use repeat loops when you need to execute icons repeatedly, or when you need to update the screen, or when you want to process user input. For example, Authorware can't erase an icon until you exit the calculation icon.


Replace

Syntax:	resultString := Replace("pattern","replacer","string")

Replace returns the string that results from replacing all occurrences in string of pattern with replacer.

Use Replace to replace punctuation marks and the characters used to separate (delimit) items stored in a single variable. You can also use special characters to match unknown characters. For more information about using special characters in patterns, see "Find" on page 452.

Example:

The following expression changes all Return characters to Tab characters in the string contained by the variable UserData:
UserData := Replace(Return,Tab,UserData)

In this expression, the string "men" is replaced by the new string "people":
String := ReplaceWord("men","people","Now is the time for all good men toÂ
 come to the aid of their country")


ReplaceLine

Syntax:	Result := ReplaceLine("string", n, "newstring"[, delim])

ReplaceLine returns the string that results from replacing line n in string with the contents of newstring. You can also use the delim argument to specify a different delimiter for the lines, such as the Tab character. By default, Return characters separate the lines.

Example:

In this example, "Milk" replaces "Eggs" in ShoppingList:

ShoppingList := "Apples" ^Return^ "Eggs" ^Return^ "Butter"^Return

NewItem := "Milk"

NewShoppingList := ReplaceLine(ShoppingList, 2, NewItem)


ReplaceSelection

Syntax:	ReplaceSelection([IconID@"IconTitle"])

ReplaceSelection makes a path available for selection in a decision icon. For example, when you set the Branching field to Randomly to Unused Path, a path isn't available once it has been selected. Use this function to make the path available again.

If the icon specified in IconTitle is attached to a decision icon, the specified icon becomes available. If the icon specified in IconTitle is a decision icon, all attached icons become available for selection. (You can also use the Reset Paths On Entry checkbox to replace all selections.) If you use the function without an argument, it replaces the most recently taken path in the most recent decision.

Example:

This statement makes the path for the Intro Exercises icon available if Score is less than 75:

Test(Score<75,ReplaceSelection(@"Intro Exercises"))


ReplaceString

Syntax:	resultString := ReplaceString("originalString",start, length,"replacement")

ReplaceString replaces a portion of originalString with replacement and returns a string. Start is the first character to replace, and length is how many characters to replace.

Example:

In this example, start is 3 (the third letter, counting the space between "I" and "like") and length is 4 (the four letters in the word "like"):

Newstring := ReplaceString("I like you",3,4,"really adore")

The string "I like you" becomes "I really adore you".


ReplaceWord

Syntax:	resultString := ReplaceWord("word", "replacer", "string")

ReplaceWord returns the string that results from replacing all occurrences of word found in string with replacer.

If you use a pattern for word, the pattern must match the entire word and can't span words. For information about using special characters to match unknown characters, see Find on page 452.

Example:

This example uses the asterisk(*) special character and shows how to change all instances of "chairman" and "chairwoman" to "chair" in the custom variable presentation:

String := ReplaceWord("chair*","chair",presentation)


ResizeWindow

Syntax:	ResizeWindow(width, height)

ResizeWindow resizes the presentation window to match the coordinate values you specify in width and height.

Use ResizeWindow only in calculation icons. Don't embed it or use it in expressions.

Use ResizeWindow with such system variables as WindowHeight, WindowWidth, WindowTop, and WindowLeft-to provide information about the size and location of the presentation window.

Note: You can specify many characteristics of the presentation window in the File Properties dialog box, including the window's size and whether the user menu and title bars are displayed. To make the window appear in a certain location, position the window at that location before saving and packaging the file.

Example:

In this example, Authorware resizes the presentation window to fill the top half of the screen:

MoveWindow(0, 0)

ResizeWindow(WindowWidth, WindowHeight/2)


Restart

Syntax:	Restart()

Restart causes Authorware to branch to the beginning of the file and initialize all variables, even if the file is set to Resume in the File Properties dialog box.

Use Restart only in calculation icons. Don't embed it or use it in expressions.

Use Restart when you want to restart the file or give the user the option of restarting the file.

Example:

In this statement the file restarts if the user enters the wrong password:

Test(PasswordEntered <> PasswordOld, Restart())


ResumeFile, ResumeFileName

Syntax:	ResumeFile(["recfolder"])
string := ResumeFileName(["recfolder"])

ResumeFile returns to the point in the last file that Authorware exited in response to a Quit(1), Quit(2), or Quit(3) function. ResumeFileName returns the name of the file to be resumed. If there is no file to resume, ResumeFileName returns an empty (null) string.

Authorware can resume a file only if you select the Resume option in the File Properties dialog box. Authorware must also have access to the file's records folder. If these files are in their default locations, it is not necessary to specify a path. To specify a different name or location for these files, use the argument recfolder.


RFind

Syntax:	number := RFind("pattern", "string")

RFind searches the string you specify for the characters you specify in pattern and returns the character position of the last match it finds. It returns 0 if pattern is not found.

The RFind function is case sensitive. You may want to use LowerCase or UpperCase on your string before using this function.

You can use special characters in the pattern argument to broaden your search:

•	An asterisk(*) represents zero or more characters.

•	A question mark(?) represents any single character.

•	A backslash(\) removes a character's special meaning.

Example:

See the example for Find on page 452.


RGB

Syntax:	RGB(red, green, blue)

RGB combines the red, green, and blue values into a single color value. Each component is a number between 0 and 255. Use this function to set the color for such functions as Box, Circle, DrawBox, and DrawCircle.


Round

Syntax:	number := Round(x [, decimals])

Round rounds x to the number of digits you specify (in decimals) to the right of the decimal point and returns the number. It rounds down numbers with a decimal value less than .5 and rounds up numbers with a decimal value of .5 or greater. If decimals is negative, the function rounds x to the left of the decimal point. Omitting the argument decimals is the same as including 0 for the argument.

Example:

Use Round to round off a value to an integer. Use it when you are calculating time (totaling hours across sessions, for instance) to determine hours and minutes but not seconds. Round is also useful when you want an integer value after averaging numbers such as performance scores:

Score := Round((Total score/Number of questions) * 100, 0)

Note: The Round function actually changes the number; you can use the Number Format command on the Text menu to change the way your piece displays numerical data.


SaveRecords

Syntax:	SaveRecords()

SaveRecords saves the user records to disk. Authorware does this automatically when the user quits a file.

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function.


SendEventReply

Syntax:	SendEventReply(event, reply)

SendEventReply sends a reply to an event sent by an Xtra. Use it after an event response to reply back to an Xtra.

Note: You can reply to an event only if the it was originally sent by the Xtra via the MOA SendEventWithReply or SendSpriteEventWithReply call. You cannot respond to events sent with the ordinary SendEvent or SendSpriteEvent.

Tip: 	The system variable, EventLastMatched, contains the name of the last event.


SetAtIndex

Syntax:	SetAtIndex(anyList, value, index)

SetAtIndex replaces the value in a list at the specified index. This function differs from AddLinear and AddProperty, because it replaces a value at the given index rather than inserting it. The list becomes unsorted after this function call. Specifying an index beyond the end of the list expands the list with elements of a null value. SetAtIndex does nothing if the index is less than 1 or the first parameter is not a list.

Example:

This example changes the value of the first item in the list:

numList := [10, 20, 30]

SetAtIndex(numList, 90, 1)

numList is [90, 20, 30]

This example sets the value of an item beyond the end of the list. The function expands the list with zeros:

numList := [10, 20, 30]

SetAtIndex(numList, 90, 6)

numList is [10, 20, 30, 0, 0, 90]


SetCursor

Syntax:	SetCursor(type)

SetCursor sets the cursor to the type you specify, as shown in the following table:

SetCursor(0)	arrow
SetCursor(1)	I-beam
SetCursor(2)	cross
SetCursor(3)	plus
SetCursor(4)	blank
SetCursor(5)	hourglass (Windows), watch (Macintosh)
SetCursor(6)	hand
Once you change the cursor type, the new type remains in effect until you change it back to the arrow (using 0 as the argument) or another cursor type.

If you add your own custom cursors to the file, Authorware assigns them a value of 51 or higher. To display one of your custom cursors, use, for example, SetCursor(51).

The Response Properties dialog boxes contain another way of changing the cursor shape. You can select a custom cursor that temporarily appears whenever the user moves the cursor over a button, hot spot, hot object, or hot text.

Changing the cursor's appearance is an effective way of drawing the user's attention to the screen. Display the hand cursor when the user can click on an object.

Example:

This example changes the cursor to the hand:
SetCursor(6)

This example changes the cursor back to the standard arrow cursor:
SetCursor(0)


SetFill

Syntax:	SetFill(flag [, color])

SetFill sets the current fill style for drawing functions. Flag is true for fill, false for no fill. Use RGB to calculate the color. Use SetFill to set the color for such draw functions as Box, Circle, DrawBox, and DrawCircle. Use SetFill in a calculation icon before the draw function it affects.


SetFrame

Syntax:	SetFrame(flag [, color])

SetFrame sets the current frame style for drawing functions. Flag is true for fill, false for no fill. Use the RGB function to calculate the color. For no frame, you can also pass 0 as the frame thickness to the individual graphics function. Use SetFrame to set the frame style for such draw functions as Box, Circle, DrawBox, and DrawCircle. Use SetFrame in a calculation icon before the draw function it affects.


SetIconProperty

Syntax:	SetIconProperty(IconID@"SpriteIconTitle", #property, value)

SetIconProperty sets the value of the property for the sprite icon's asset. Use GetIconProperty to get the value of a property. Use SetSpriteProperty to set a property of the sprite displayed by a sprite icon.

Example:

This statement sets the #Scale property of the QuickDraw 3D sprite icon titled QD3D Globe:

SetIconProperty(@"QD3D Globe", #Scale, [1, 1, 1])

In this example, since you're changing the sprite icon's property and not the sprite itself, you'd need to erase and redisplay the sprite icon before its sprite reflects the change on screen.


SetKeyboardFocus

Syntax:	SetKeyboardFocus(IconID@"IconTitle")

SetKeyboardFocus sets the current focus to the sprite icon, text entry response, or Director movie icon specified.


SetLine

Syntax:	SetLine(type)

SetLine sets the line style for drawing functions to one of the following types:

0	No Arrows
1	Start Arrow
2	End Arrow
3	Both Arrows
Use SetLine to set the line style for Line and DrawLine. Use SetLine in a calculation icon before the function it affects.


SetMode

Syntax:	SetMode(mode)

SetMode sets the current mode for drawing functions to one of the following types:

0	Matted
1	Transparent
2	Inverse
3	Erase
4	Opaque


SetPalette

Syntax:	result := SetPalette(["filename", resourceID, "resourceType", option])

SetPalette loads the palette from filename and sets it as the current palette for the presentation window. Authorware uses its default palette if you don't specify filename.

On Macintosh, if you don't specify a resourceType the default is PLTT. If you don't specify a resourceID, Authorware loads the first item that matches the resourceType.

The operating system uses colors from specific palette positions when creating its interface. Changing the palette alters the colors the operating system uses to draw the interface. To preserve the colors the operating system needs, use the option parameter. Values for option include:

0 = use previous setting

1 = do not preserve system colors

2 = use palette without modification

4 = preserve system colors

8 = use setting from Modify > File > Palette


SetProperty

Syntax:	SetProperty("window", #property, value)

SetProperty sets the value of a property for the specified window. The argument window is a string containing the name of a window created by an XCMD or UCD (DLL).


SetSpriteProperty

Syntax:	SetSpriteProperty(IconID@"SpriteIconTitle", #property, value)

SetSpriteProperty sets the value of the property for the sprite currently displayed by a sprite icon. Use GetSpriteProperty to get the value of a property. Use SetIconProperty to set a property of the sprite icon.

Example:

This statement sets the #Scale property of the sprite displayed by the sprite icon titled QD3D Globe:

SetSpriteProperty(@"QD3D Globe", #Scale, [1, 1, 1])


ShowCursor

Syntax:	ShowCursor(display)

ShowCursor changes the display of the cursor to on or off. Specify OFF as the argument to hide the cursor; specify ON to show the cursor.

Use this function to hide the cursor temporarily during a presentation or sequence.

Example:

This statement turns the cursor off:

ShowCursor(OFF)


ShowMenuBar

Syntax:	ShowMenuBar(display)

ShowMenuBar turns the user menu bar on or off during a presentation. Specify OFF as the argument to hide the user menu bar; specify ON to display the user menu bar if it is hidden. When a file starts or restarts, Authorware displays the user menu bar in the same state as it was when the file quit.

Use ShowMenuBar only in calculation icons. Don't embed it or use it in expressions.

Note: Even with the menu bar off, Windows users can exit the file at any time by pressing Alt-F4.

Tip: 	Use the File Properties dialog box to turn the user menu bar on or off for the entire presentation.


ShowTaskBar

Syntax:	ShowTaskBar(display)

Under certain conditions, the Windows 95 or NT task bar can overlap the presentation window of an Authorware piece. In such a case, Authorware hides the task bar by default. Use ShowTaskBar(ON) to allow the task bar to be visible even if it overlaps the presentation window. For this to work, you must also make the title bar visible by selecting the Title Bar option in the File Properties dialog box.

Tip: 	You can also make the task bar visible by selecting Task Bar in the File Properties dialog box.

Note: Windows' task bar settings such as "Always on top" can override the task bar settings for your piece.


ShowTitleBar

Syntax:	ShowTitleBar(display)

On the Macintosh ShowTitleBar turns the presentation window title bar on or off. Specify OFF as the argument to hide the title bar; specify ON to display the title bar. On both Windows and Macintosh you can use the File Properties dialog box to turn the title bar on or off for the entire presentation.

Use ShowTitleBar only in calculation icons. Don't embed it or use it in expressions.


Sign

Syntax:	number := Sign(x)

Sign returns -1 if x is negative; 0 if x is zero; 1 if x is positive.

Example:

Use Sign to determine which icon to present in a decision icon. Set the To Calculated Path to Sign(x) + 2. Depending on x, the decision icon takes the first, second, or third path. If x is negative, the decision icon takes the first path. If x is 0, the decision icon takes the second path. If x is positive, the decision icon takes the third path.


SIN

Syntax:	number := SIN(angle)

SIN returns the sine of the angle you specify in angle, expressed in radians.


SortByProperty

Syntax:	SortByProperty(propertyList1[, propList2,..., propList10][, order])

SortByProperty sorts property lists by property and marks them as sorted. Setting order to true sorts the lists in ascending order (default); false sorts the lists in descending order.

SortByProperty sorts multiple lists according to the sort order of the first list in the parameter string. It doesn't sort multiple lists if they are unequal in size, and it doesn't sort sort any lists other than property lists.

For sorting purposes, Authorware treats symbols as strings. Authorware doesn't sort lists already marked as sorted. Functions that change the sort order of a list mark it as unsorted.

Note: The symbols in a property list are not case sensitive.

Example:

In this example, Authorware sorts ListA first and then sorts the elements in ListB according to their relative position to the elements in ListA:

ListA:=[#z:1, #x:2, #y:3]

ListB:=[#a:1, #c:2, #b:3]

SortByProperty(ListA, ListB, TRUE)

ListA is now [#x:2, #y:3, #z:1] and ListB is [#c:2, #b:3, #a:1].

If you change the order of the lists to SortByProperty(ListB, ListA, TRUE), Authorware sorts ListB first and then sorts the elements in ListA according to their relative position to the elements in ListB. ListB becomes [#a:1, #b:3, #c:2] and ListA becomes [#z:1, #y:3, #x:2].


SortByValue

Syntax:	SortByValue(anyList1 [, anyList2, ..., anyList10], [order])

SortByValue sorts lists by value and marks them as sorted. Setting order to true sorts the lists in ascending order (default); false sorts the lists in descending order.

SortByValue sorts multiple lists according to the sort order of the first list in the parameter string. It doesn't sort multiple lists if they are unequal in size.

For sorting purposes, Authorware treats symbols as strings. It doesn't sort lists already marked as sorted. Functions that change the sort order of a list mark it as unsorted.

Example:

In this example, Authorware sorts ListA first and then sorts the elements in ListB according to their relative position to the elements in ListA:

ListA:=["Ball", "Apple", "Cat"]

ListB:=[30, 10, 20]

SortByValue(ListA, ListB, TRUE)

ListA is now [Apple, Ball, Cat] and ListB is [10, 30, 20].

If you change the order of the lists to SortByValue(ListB, ListA, TRUE), Authorware sorts ListB first and then sorts the elements in ListA according to their relative position to the elements in ListB. ListB becomes [10, 20, 30] and ListA becomes [Apple, Cat, Ball].


SQRT

Syntax:	number := SQRT(x)

SQRT returns the square root of the absolute value of x.


String

Syntax:	string := String(x)

String converts x from its current data type into a string.

Example:

String(3.14) returns "3.14".


Strip

Syntax:	resultString := Strip("characters", "string")

Strip returns the string that results from removing all occurrences of characters from string. Because this function is case sensitive, you must include both the uppercase and lowercase characters you want to remove.

Example:

This example shows how to strip commas, semicolons, and periods from a string in EntryText:
String := Strip(",;.", EntryText)

This example shows how to extract only the numbers from EntryText by using Strip twice:
EverythingButNumbers := Strip("1234567890", EntryText)
JustTheNumbers := Strip(EverythingButNumbers, EntryText)


SubStr

Syntax:	resultString := SubStr("string", first, last)

SubStr returns a portion of string, from the first character through the last character.

Use SubStr to extract information from large lists with information stored in fixed locations, such as student rosters.

Example:

This example illustrates how to use SubStr to extract the area code and the prefix from a telephone number:

phone number:="4155551212"

area code := SubStr(phone number,1,3)

prefix := SubStr(phone number,4,6)


Sum

Syntax:	value := Sum(anyList)

value := Sum(a [, b, c, d, e, f, g, h, i, j])

Sum returns the sum of the values of the elements in the list or the sum of the values of all the arguments (up to ten). It summarizes only the top level elements.

Example:

In this example, TotalValue is 60:

List := [10, 20, 30]

TotalValue := Sum(List)


Symbol

Syntax:	symbol := Symbol(value)

Symbol converts the given value from its current data type to a symbol. Helpful in creating properties from variables.

Note: The symbols in a property list are not case sensitive.

Example:

Example:

propVar := "a"

propList := [Symbol(propVar):1]

Then propList is [#a:1]


SyncPoint, SyncWait

Syntax:	SyncPoint(option)
SyncWait(seconds)

SyncPoint and SyncWait synchronize the presentation of icons-to synchronize sound with a slide show, for example.

Depending on the option you specify, SyncPoint resets a timer as follows:

0	(Default) Sets timer before displaying the current icon
1	Sets timer after displaying the current icon
2	Sets timer when the user matches a response or exits the interaction ( applies to interactions only)
SyncWait pauses a presentation until the time you specify in seconds expires, using the last SyncPoint setting as a point of reference. During the pause Authorware disables all interaction responses, but animations, digital movies, and other actions continue. If more time than the number of seconds you defined has already elapsed, presentation continues immediately.

SyncPoint and SyncWait are particularly useful for synchronizing presentations that run on different computers or platforms, to compensate for differences in speed.

Tip: 	It's best to include SyncWait functions in a calculation attached to an icon, to keep the synchronizing logic together.

Example:

This example shows how to pause 1.5 seconds after a sound starts to play before displaying a title, and 5 seconds (again, after the sound starts to play) before displaying an animation.

To do this, place a calculation icon after the sound icon to hold the SyncPoint function. Attach calculation icons to the other two icons (by selecting the icon and choosing Modify > Icon > Calculation) to hold the SynchWait functions. Enter the following statements into the three calculation icons, respectively:

SyncPoint(1)

SyncWait(1.5)

SyncWait(5)

SyncPoint(1) starts the timer after the sound starts to play. Be sure to select Concurrent or Perpetual in the Sound Icon Properties dialog box. SyncWait(1.5) pauses 1.5 seconds, and SyncWait(5) pauses 5 seconds, after the sound starts to play. Both pauses use the timer set by SyncPoint as the point of reference.


TAN

Syntax:	number := TAN(angle)

TAN returns the tangent of the angle you specify in angle, expressed in radians.


Test

Syntax:	Test(condition, true expression [, false expression])

Test evaluates the condition you specify. If the condition is true, Test evaluates true expression; if the condition is false, Test evaluates false expression. The false expression is optional.

Test is similar to a decision icon with two attached icons set to Calculated Path branching. To present feedback in response to the condition's state, it may be more appropriate to use a decision icon. To perform a function in response to the condition's state, however, the Test function may be more appropriate.

Note: Authorware provides another way to test whether conditions are true or false, using If-Then statements. For more information, see If-Then.

Example:

This example shows how to use the Test function to determine how Authorware proceeds based on the value of a user's score. One of these paths displays remedial materials; the other displays a challenge quiz.

The following expression, entered in a decision icon's To Calculated Path field, checks whether the value of the variable Score is less than 50:

Test(Score<50, path:=1, path:=2)

If the value is less than 50, Authorware takes path 1 through the decision structure. If the score is 50 or more, Authorware takes path 2.


TestPlatform

Syntax:	string := TestPlatform(Mac, Win32 [, Win16])

TestPlatform tests the platform on which a piece is running and returns the appropriate argument for the platform as a string.

Example:

With the following statement in the File field of the Movie Icon Properties dialog box, a single movie icon points to three different video files:

= TestPlatform("::Mac:Media:The Godfather", "..\Windows\Media\TheÂ
 Godfather.avi", "..\Windows\MEDIA\GODFATH.AVI")

On the Macintosh the movie icon uses
"::Mac:Media:The Godfather".

On 32-bit Windows the movie icon uses
"..\Windows\Media\The Godfather.avi".

On 16-bit Windows the movie icon uses
"..\WINDOWS\MEDIA\GODFATH.AVI".


TextCopy, TextCut, TextPaste

Syntax:	TextCopy()
TextCut()
TextPaste()

TextCopy copies to the clipboard text that is selected in the active text response; TextCut cuts the text (and copies it to the clipboard); and TextPaste pastes the clipboard contents into the active text response.

All three functions are useful when you set up an Edit menu for use in interactions with text responses. Users can cut, copy, and paste text to and from the text entry area.


TimeOutGoTo

Syntax:	TimeOutGoTo(IconID@"IconTitle")

TimeOutGoTo works with the system variable TimeOutLimit, which monitors the user's activity (a keypress, a mouse click, or a mouse movement). If the user doesn't respond within the time limit you set in TimeOutLimit, Authorware jumps to the icon you specify in IconTitle and continues its presentation from that icon.

If the icon that initiated the jump is attached to an interaction icon, use the icon's Response Properties dialog box to set up a return to that icon. Select Perpetual and set Branch to Return.

If the icon to which Authorware jumps is a page within a navigation framework, Authorware executes the sequence of icons in the entry pane of the framework before it executes the icon's contents. If Authorware jumps from a page within a framework, it also executes the sequence of icons in the exit pane of the framework.

Use TimeOutGoTo to make sure that a presentation doesn't get stuck because the user fails to respond, or to display a hint after a certain amount of time. This is particularly useful for point-of-sale or kiosk applications, where users rarely go through an entire presentation.

Example:

This example shows how to monitor whether a user responds to a Go On button within 20 seconds. (This button is set up as the third response icon in the Title Screen Menu interaction.) If the user doesn't respond within 20 seconds, Authorware automatically jumps to an introductory screen.

The calculation icon set timeoutlimit/goto contains the system variable TimeOutLimit, which sets up the 20-second time limit, and the TimeOutGoTo function, which tells Authorware where to jump when the limit expires.

TimeOutLimit := 20

TimeOutGoTo(@"intro")


Trace

Syntax:	Trace("string")

Use Trace for debugging during authoring. Every time Authorware finds the Trace function, it dumps string into the Authorware Control Panel window.

Example:

Put Trace in a calculation icon at the point where you want to make sure something has happened. This statement displays "Checkpoint 1" in the trace window when Authorware encounters it:

Trace("Checkpoint 1")


TypeOf

SyntaxType: := TypeOf(value)

DescriptionType:Of returns the type of value, as one of the following:

#integer ; #real; #string ; #linearList; #propList ; #rect; #point; #symbol; #event

ExampleType:Of([1, 2, 3]) returns #linearList.
TypeOf(#a) returns #symbol.
TypeOf("abc") returns #string.


UnionRect

Syntax:	NewRect := UnionRect(rectangle1, rectangle2)

UnionRect returns the smallest rectangle that encloses the two rectangles, rectangle1 and rectangle2.


Unload

Syntax:	Unload(IconID@"IconTitle")

Unload removes the contents of IconTitle from memory. This works only for icons that are not currently posted to the display or playing. If the icon you specify is a map, interaction, decision, or framework icon, Authorware unloads all icons attached or within that icon. Specifying -1 or RootIcon as the argument unloads every icon that Authorware can unload.

If a movie or sound hasn't played yet, Authorware immediately unloads the file and releases the driver. If the movie has played, Authorware unloads the movie file and releases the driver when the movie is erased.

For sprite Xtra icons, Unload destroys the asset only if it has no sprite posted to the display. Other than quitting a file, this is the only way to destroy an asset at runtime.

Example:

This statement unloads MyMovie:
Unload(IconID@"MyMovie")

This unloads all possible icons in the piece:
Unload(-1)


UpperCase

Syntax:	resultString := UpperCase("string")

UpperCase returns the string that results from converting to uppercase letters all lowercase letters in string.

LowerCase and UpperCase are useful when you're working with the Find function, which is case sensitive.

Example:

In this example Authorware changes "all caps" to "ALL CAPS":

NewText := UpperCase("all caps")


ValueAtIndex

Syntax:	ValueAtIndex(anyList, index)

ValueAtIndex returns the value at the given index. Returns 0 (linear list) or a null string (property list) if the index is less than 1, if the index does not exist, or if the first argument is not a list.

Example:

List := [10, 20, 30]
PropList := [#a:77, #b:List, #c:99]
Value := ValueAtIndex(PropList, 1)
Value is 77.

Value := ValueAtIndex(PropList, 2)

Value is [10, 20, 30].


VideoChromaKey

Syntax:	VideoChromaKey(red, green, blue)

VideoChromaKey sets the chroma key color for the video overlay device. Specify the amount of each color on a scale from 0 (off) to 65536 (full). In some applications, color values range from 0 to 255. To set a value for a color with VideoChromaKey in such applications, multiply the original value by 256 to get the value on the 0 through 65536 scale.

Example:

This example defines the chroma key color as magenta, which is a combination of the full values of red and blue, with no green:
VideoChromaKey (65536,0,65536)

This example defines the chroma key color as black:
VideoChromaKey(0,0,0)


VideoDisplay

Syntax:	VideoDisplay(show)

VideoDisplay turns the video display on and off. To turn on the video display at the current frame, define show as ON. To turn off the video display, define show as OFF.

Use VideoDisplay to continue playing an audio track while turning the video display off.


VideoPause

Syntax:	VideoPause()

VideoPause pauses the video at the current frame.

Use VideoPause to pause the video at any point or to set up controls that let the user pause the video.


VideoPlay

Syntax:	VideoPlay(frame)

VideoPlay plays the video to the frame number you specify. If the frame number you specify is less than the current frame number, the video plays backward.

Use VideoPlay to play a segment of a video, or to play a video backward to a specific frame.

Note: Precede VideoPlay with VideoDisplay(ON) if playing a CLV disk.


VideoSeek

Syntax:	VideoSeek(frame)

VideoSeek moves the video to the frame you specify.

Example:

This expression moves the video to frame 750.
VideoSeek(750)

This example shows how to play a video from the beginning if the user is new (the value of the variable NewUser is true). If NewUser is false, the video starts at frame 1500:
Test(NewUser,VideoSeek(0),VideoSeek(1500))


VideoSend

Syntax:	string := VideoSend("message", wait)

VideoSend sends the character string in message to the video player. Authorware then pauses for the number of ticks you specify in wait (a tick is approximately 1/60 second), and returns a response from the video device. If wait is zero, Authorware doesn't wait for a response.

For information about the messaging capabilities of your video player, refer to the documentation that came with the player.


VideoSound

Syntax:	VideoSound(channel, play)

VideoSound controls the sound for a video sequence. If there are several audio tracks, VideoSound sets up the channel that plays the sound with the argument channel, which includes the following options:

1	channel 1
2	channel 2
3	both channels
To determine whether the sound is played, define play as ON or OFF.

For example, this expression sets up the sound to play on channel 1, but turns the sound off:

VideoSound(1,OFF)

Use this function to determine whether and on what channel, the video's sound track plays. Use VideoSound with the Test function and a custom variable to play different sound tracks based on whether a condition is true or false.

Example:

This example shows how you could switch between an English and a Spanish sound track. If the language is English (the value of the custom variable English is true), Authorware plays channel 1. If the language is not English (the value of the custom variable English is false), Authorware plays channel 2:

Test(English,VideoSound(1,ON),VideoSound(2,ON))


VideoSpeed

Syntax:	VideoSpeed(speed)

VideoSpeed sets the speed for playing the next video sequence, according to the following options:

0	Pause
1	Slowest
2	Slow
3	Normal
4	Fast
5	Fastest
A negative value for speed plays the video in reverse, at the selected speed. If a video sequence is already playing when Authorware gets to this function, whether the speed changes depends on the video player you're using.

Use this function to give the user control over the speed at which a sequence plays or to make the speed depend on a condition contained in a custom variable.


VideoStep

Syntax:	VideoStep(reverse)

VideoStep steps the current video frame backward or forward by a single frame. To step the video forward, specify OFF for reverse; to step the video backward, specify ON.

Although Authorware provides a video controller, you can use this function to create controls that match your application's interface.


VideoText

Syntax:	VideoText("string", n)

VideoText shows the text in string on line n, using the character generator in the videodisc player. Not all videodisc players support this function; if yours does not, Authorware ignores it. To find out if your videodisc player supports a character generator, check the manual that came with your player.


WaitMouseUp

Syntax:	WaitMouseUp()

WaitMouseUp pauses the presentation until the user releases the left mouse button (Windows) or the mouse button (Macintosh).

Use WaitMouseUp when you want the user to be able to pause a particular sequence. If the user presses and holds the button, the presentation stops.

Related Functions	MouseDown


WordCount

Syntax:	number := WordCount("string")

WordCount returns the number of words found in string. Authorware recognizes a new word when it finds one or more spaces between characters, or when a Tab or Return separates (delimits) the characters.

Example:

These examples show how WordCount counts the number of words in a string:

TotalWords := WordCount("Aries   Taurus   Gemini")

TotalWords is 3.

TotalWords := WordCount(" (   .  #  &  ! ")

TotalWords is 5.

TotalWords := WordCount("one\rtwo\rthree")

TotalWords is 3.


WriteExtFile

Syntax:	number := WriteExtFile("filename", "string")

WriteExtFile creates or overwrites filename with the contents of string. Use WriteExtFile only in calculation icons. Don't embed it or use it in expressions.

When you use WriteExtFile, Authorware updates two system variables, IOStatus and IOMessage, and returns the value of IOStatus. If no error occurs, IOStatus contains 0 and IOMessage is empty. If an error occurs, the operating system defines what number appears in IOStatus. If IOStatus is not 0, IOMessage contains the error message.

Use AppendExtFile to accumulate text in a file. Use WriteExtFile to overwrite the contents of a file with new text. Both functions can write any type of data-such as user names, scores, or topics-to an external file in ASCII format. After writing text to an external file, you can use the ReadExtFile function to retrieve the contents.

Example:

The following statement writes the contents of Data to the external file Students:

WriteExtFile(FileLocation^"Students", Data)

Note: When the Shockwave Plug-In is running a piece in nontrusting mode, it disables this function.


Year

Syntax:	number := Year(number)

Year returns the number of the year, using the number of days since January 1, 1900, as the basis. Valid input includes the following range of numbers:

Windows	25568 to 49709 (January 1, 1970 through June 2, 2036)
Macintosh	1461 to 51171 (January 1, 1904 through June 2, 2040)
Example:

The following statement returns the year for January 1, 1970:

result := Year(25568)

The result is 1970.


ZoomRect

Syntax:	ZoomRect(x, y)

ZoomRect produces a zooming rectangle effect from the screen coordinates specified in x and y to the edge of the user display. It can provide a nice transition effect.

Example:

The following statement zooms from the point of the user's click to the edges of the display:

ZoomRect(ClickX,ClickY)


Shortcuts
Keyboard shortcuts

Click a category for more information.

Design window shortcuts

Presentation window and toolbox shortcuts

Keyboard Shortcuts

File menu shortcuts

Edit menu shortcuts

View menu shortcuts

Modify menu shortcuts

Text menu

Control menu shortcuts

Window menu shortcuts

Help menu


Design window shortcuts

Action	Shortcut
Open icon's properties dialog box	Alt-double-click icon (Double-clicking also behaves the same for most icons)
Open the calculation window	Double-click calculation icon
Open map window (sub-level flowline)	Double-click map icon
Open the Response Properties dialog box	Double-click a response type symbol (Control-double-click to keep Presentation window closed)
Preview icon contents without opening Presentation window	Control-shift-click display, interaction, sound, or digital movie icons
Preview first object in an erase icon's list	Control-shift-click erase icon
Preview icon to be animated	Control-shift-click motion icon
Cycle through response branching options	Control-click branch path in flowline or toolbox
Cycyle through response status options	Control-click to the left of response type symbol title
Select the next icon on the flowline	Press Tab or Enter
Select the previous icon on the flowline	Press Shift-Tab or Shift-Enter


Presentation window and toolbox shortcuts

Action	Shortcut
Open display icon contents in Presentation window	Double-click display icon
Display an icon's contents in addition to current/previous Presentation window contents	Shift-double-click icon
Select all objects in current icon	Double-click icon in toolbox
Select objects  not contained in the current icon	Control-click the object
Open Modes Inspector	Double-click Pointer tool
Open Lines Inspector	Double-click Line tool
Open Color Inspector	Double-click Ellipse tool
Open Fill Inspector	Double-click Polygon tool
Nudge a selected object by one pixel	Press an arrow key to move object in desired direction
Draw a square, circle, or perpendicular line	Shift-drag with a drawing tool
Constrain an object to its original aspect ratio when resizing	Shift-drag
Deselect all objects	Press Spacebar
To select the next object in the current icon	Press Tab


File menu shortcuts

Command	Shortcut
New > File	Control-N
New > Library	Control-Alt-N
Open > File	Control-O
Close > Window	Control-W
Close > All	Control-Shift-W
Save	Control-S
Save All	Control-Shift-S
Import	Control-Shift-R
Preferences	Control-U
Exit	Control-Q


Edit menu shortcuts

Command	Shortcut
Undo	Control-Z
Cut	Control-X
Copy	Control-C
Paste	Control-V
Clear	Delete
Select All	Control-A
Find	Control-F
Find Again	Control-Alt-F
Open Icon	Control-Alt-O


View menu shortcuts

Command	Shortcut
Current Icon	Control-B
Menu Bar	Control-Shift-M
Toolbar	Control-Shift-T
Floating Panels	Control-Shift-P


Modify menu shortcuts

Command	Shortcut
Image Properties	Control-Shift-I
Icon > Properties	Control-I
Icon > Calculation	Control-=
Icon > Transition	Control-T
Icon > Library Links	Control-Alt-L
File > Properties	Control-Shift-D
Align	Control-Alt-K
Group	Control-G
Ungroup	Control-Shift-G
Bring to Front	Control-Shift-Up Arrow
Send to Back	Control-Shift-Down Arrow


Text menu shortcuts

Command	Shortcut
Size > Size Up	Control-Shift-Right Arrow
Size > Size Down	Control-Shift-Left Arrow
Style > Bold	Control-Alt-B
Style > Italic	Control-Alt-I
Style > Underline	Control-Alt-U
Alignment > Left	Control-[
Alignment > Right	Control-]
Alignment > Center	Control-\
Alignment > Justify	Control-Shift-\
Apply Styles	Control-Alt-Y
Define Styles	Control-Shift-Y


Control menu shortcuts

Command	Shortcut
Restart	Control-R or 1 on the keypad
Stop	Control-J or Control-1, or 0 on the numeric keypad
Play	Control-P or 3 on the numeric keypad
Pause	Control-P or 2 on the numeric keypad
Step Into	Control-Alt-Right Arrow
Step Over	Control-Alt-Down Arrow
Restart from Flag	Control-Alt-R or 4 on the numeric keypad
Note: To use numeric keypad shortcuts, the number lock function must be turned off.


Window menu shortcuts

Command	Shortcut
Control Panel	Control-2
Inspectors > Lines	Control-L
Inspectors > Fills	Control-D
Inspectors > Modes	Control-M
Inspectors > Colors	Control-K
Presentation	Control-J or Control-1
Functions	Control-Shift-F
Variables	Control-Shift-V
External Media Browser	Control-Shift-X


Help menu shortcuts

Command	Shortcut
Help	F1
Help Pointer	Shift+F1


Afterburner reference

File Menu

Edit Menu


File menu (Afterburner)

Choose a command for more information:

Shock

New Map

Open Map

Close Map

Save

Save As

Exit


Shock (Afterburner File menu)

Produces a map file and segment files from a packaged file.


New Map (Afterburner File menu)
New Map  (Afterburner File menu, currently unavailable)

Opens a new map file.


Open Map (Afterburner File menu)

Opens an existing map file. You can have as many map files open at the same time as you want. The only limit is the amount of memory that's available.


Close Map (Afterburner File menu)

Closes the map file that's currently active


Save (Afterburner File menu)

Saves the map file that's currently active.


Save As (Afterburner File menu)

Opens the Save As dialog box and lets you save the currently active map file with a different name.


Exit/Quit (Afterburner File menu)
Exit  (Afterburner File menu)

Quits Afterburner. Closes any map files that are open.


Edit Menu (Afterburner)

Choose a command for more information:

Undo

Cut

Copy

Paste

Select All

Insert Line

Delete Line

Edit Line


Undo (Afterburner Edit menu)
Undo (Afterburner Edit menu, currently unavailable)

Undoes the last action you took.


Cut (Afterburner Edit menu)

Cuts the line or lines that are selected in the map window or the information in an edit field in the Edit Line dialog box.


Copy (Afterburner Edit menu)

Copies the line or lines that are selected in the map window or the information in an edit field in the Edit Line dialog box.


Paste (Afterburner Edit menu)

Pastes the information on the clipboard into the map window or into an edit field in the Edit Line dialog box.


Select All (Afterburner Edit menu)

Selects all the information in the active map window.


Insert Line (Afterburner Edit menu)

Adds a new entry to the map file following the line that's currently selected. The Insert Line command is active only when a single line is selected or the map window is empty. Choose the type of line you want to insert from the command's submenu.

ver

get

put

seg

bin

lib

opt

comment


Ver

Contains the map file format version number.


Get

Contains the location where map files, DLLs, XMOs, and library files are located on the HTTP server.


Put

Contains the location where an external file will be saved on the user's computer.


Seg

Contains information about a segment of a shocked piece.


Bin

Contains information about an external file a shocked piece uses.


Lib

Contains information about a library a shocked piece uses.


Opt

Contains optional settings, such as the BypassSecurityDialog flag.


Comment

Contains comment lines, which aren't executed.


Delete Line (Afterburner Edit menu)

Deletes the selected line or lines from the map file. (The Delete or Backspace key is not a keyboard equivalent.)


Edit Line (Afterburner Edit menu)

Opens the Edit Line dialog box, where you can make changes to the information in the line.


Edit Line dialog box (Afterburner)

The options that appear in the Edit Line dialog box depend on the type of line you're editing. Choose an option for more information:

Line type

Platform

File Names

Flags

File Type, Creator Type

File Length


Line type (Afterburner Edit Line dialog box)

The type of line you're editing. This setting determines the options that appear in the dialog box. The settings for the line type are the same as the options on the Insert Line submenu.


Platform (Afterburner Edit Line dialog box)

The platform the file runs on. The settings are: all, mac, win, win16, win32.


File Names (Afterburner Edit Line dialog box)

Server. The name of the file as it exists on the HTTP server. This name appears in the third column of seg, lib, and bin lines.

Local. The name of the file before you shocked the piece. This name appears in the fourth column of lib and bin lines. In bin lines, this is also the name that the plug-in will give the file after it's downloaded from the server and place on the user's hard disk


Flags (Afterburner Edit Line dialog box)

Options for handling the way an external file is downloaded.

Preempt. If a given external file is available on a user's hard disk or CD-ROM drive, this setting tells Authorware to disregard that file and instead download the file from the network

Recycle. Does not delete the file when the Authorware piece ends. When the piece starts again, it uses the same file again, instead of downloading it a second time

OnDemand. Downloads the external file only when the piece calls for it

MacBinary. Creates an AAB file combining the resource fork and the data fork of the file into a single MacBinary file. This preserves the Macintosh create and type information and is needed to ensure that movies, Xtras, and XCMDs download properly, because HTTP transfers over the net would otherwise not preserve that information.


File Type, Creator Type (Afterburner Edit Line dialog box)

Macintosh-specific information that's used when sharing QuickTime (MOV) movies between Macintosh and Windows platforms. Macintosh computers need this information to play a movie, but Windows computers don't recognize the MacBinary (flattened) format. Consequently, if you want to use the same movie file on both platforms, you need to enter the creator and type information for the file instead of using the MacBinary flag.


File Length (Afterburner Edit Line dialog box)

The length of an external file. If the length of the file doesn't match this setting after it's downloaded, an error message appears that tells users that the file is missing or the wrong length. The message is followed by the URL of the file that couldn't be downloaded. The plug-in immediately deletes the corrupted file.


Show Me
A/V Synchronization (Avsync.a4p)	Synchronizing text or graphics with audio and video.
Administration (Admin.a4p)	Simple application to read the data written by the Logon and Content Show Me files.
Button Interaction (Q_button.a4p)	Simple demonstration of a push button interaction.
Content Application (Content.a4p)	A simple application which demonstrates how to integrate smaller pieces into a complete application.
Creating a Subroutine (Subrout.a4p)	How to create a subroutine and some uses for subroutines, such as recording student scores.
Displaying Variables (Variable.a4P)	Simple demonstration of variables embedded in a display. Shows how to use the Update Displayed Variables setting to display the current icon title, time, and other user information.
External Content (External.a4p)	Displaying external graphics based on a variable and displaying a graphic from a URL.
Free Form Text (Q_txt_l.a4p)	Illustrates simple methods for evaluating text responses that may not have an easily defined answer.
Generic Question Model (Q_model.a4p)	How to create a generic multiple choice interaction that can be used as a model for rapid development.
Glossary (Glossary.a4p)	A simple glossary structure. This demonstrates the use of external data files, WordClicked, LineClicked and string manipulation. The glossary functions include a scrolling list of terms and the ability to click on any word on the screen to search for its definition.
Graphing (Graph.a4p)	Graphing simple data points using the Line function. The user can enter values for the data points either by clicking on the grid or keying in numbers for x and y.
Help System (Help.a4p)	A simple help system using frameworks. From the help screen, the user can select a topic by clicking on it in the list, or use the framework Find function to navigate to a help topic.
Hot Object Interaction (Q_hotobj.a4p)	Clickable object interactions and how to set them up with a catchall.
Hot Spot Interaction (Q_hotspt.a4p)	Demonstrates the use of hot spots, how to layer hot spots, and catchall hot spots.
Hot Text (Hottext.a4p)	Demonstrates the use of hot text links.
Judging and Tracking (Judge.a4p)	How to judge and track a student's response at an interaction.
Keypress Interactions (Keypress.a4p)	Demonstrates setting up a key press interaction and how to check for special keys. The example shows how to capture each keystroke and display a bullet character. The Logon piece uses this same interaction for the password entry.
Logon (Logon.a4p)	This logon shows how to prompt the user for a name and password. The example checks for existing records and resumes any previous file. If the logon doesn't find any records, the user can sign in, retype the name or quit.
Moving Objects (Move.a4p)	How to animate and position graphics. Includes a rotating gauge, a progress bar, and a scrolling graphic.
Navigating & Expressions (Nav_page.a4p)	How to use an expression in a navigation icon to navigate to a page. The user can click on a list of icon titles to navigate to an icon.
Notepad (Notepad.a4p)	Illustrates a combination of functions such as reading/writing files and working with strings. Functionally, the notepad allows a user to enter, view and delete notes.
Paging (Paging.a4p)	A simple paging structure setup. In addition to simple paging, the example illustrates preventing wrap around paging.
Pull Down Menus (Pulldown.a4p)	How to create menu separators, accelerator keys, and remove the File menu.
QuickDraw 3D (Qd3d.a4p)	Demonstration of the QuickDraw 3D Xtra and how to set its properties.
Referring to Icons (Refer.a4p)	How to refer to the value of a variable at an icon.
RGB (RGB.a4p)	How to use RGB to change the color for the drawing functions.
Screening Text or Numbers (Screen.a4p)	Methods for extracting the characters desired from a string. In the example, the user keys in text and it is split into numeric and non-numeric strings.
Scripting & Expressions (Script.a4p)	Basic examples of if-then statements, repeat loops and Test.
Short Text Interaction (Q_txt_s.a4p)	How to create short text interactions so that they anticipate all possible responses.
Show Me Credits (Credits.a4p)	Names of the people who contributed to the development of the Show Me files. In Windows it uses the ActiveX Marquee control to scroll an HTML page.
Slider (Slider.a4p)	How to set up a simple slider.
Storing/Retrieving Information (Write.a4p)	How to read, write and append text to a file. The user enters text in a text response and then can choose a button to write, append, or read the text from the text file.
Target Area Interaction (Q_target.a4p)	How to set up drag and drop for multiple objects, and the use of a catchall.
Time Limit Interaction (Q_time.a4p)	Setting up a time limit at an interaction.
Tries Limit Interaction (Q_tries.a4p)	Setting up a tries limit at an interaction.
Using Lists (Lists.a4p)	Creating and using lists in Authorware. Also shows how to sort lists.
Using ActiveX (Activex.a4p)	Setting up and using ActiveX controls. Includes Flash, Chart, Calendar, and Browser controls.
Using ODBC (Odbc.a4p)	How to connect to a data source through ODBC. This piece includes sample SQL statements to store, retrieve, open and close a data source.
Using Scripting Xtras (Xtraio.a4p)	Shows how to create a child instance of the File IO Xtra for reading and writing a file.
Variable Branching (Decision.a4p)	Determining a decision path with a variable or expression.
More on the web

Check the Authorware Developers Center for more Authorware Show Me and Shockwave Show Me examples.


Please Insert the Authorware CD

Please insert your Authorware 4 CD to open this Show Me piece.


Troubleshooting
Troubleshooting methods

Common problems

Getting help


Troubleshooting methods

No piece works exactly as planned the first time. That's a basic fact of authoring. The following troubleshooting methods can help identify a problem:

Determine which section has the problem

If clicking a button produces the wrong result, look at the interaction that contains the button.

If a display icon doesn't appear, check its position on the flowline. Possibly it's after a wait icon that prevents Authorware from running it or before an erase icon that erases the image before you can see it.

If you get an unintended result from a decision icon, check the values that you use to control branching.

Use the start and stop flags to restrict the portion of the flowline that you run.

Think through the problem section

When a section of the flowline doesn't do what you want, first try to trace the flowline's behavior in your head. That often helps you find the problem.

Connections between icons aren't always apparent from looking at one section of the flowline. For information about ways to list connections between icons, see Connections command.

Check the icon's settings

Check each icon's properties to make sure that they're set correctly. For example, a display icon might appear in a layer that hides it from view. You can remove the icon from the flowline and then run the section to see if the problem persists. If the problem goes away when the icon is removed, the problem might be in the icon's settings.

Figure out where the flow goes

Many times, the problem occurs because Authorware follows the flowline differently than you expected.

For example, a response type has different results for continue and try again branching.

The Control Panel can generate a list of icons in the order that Authorware encounters them.

Check variables and functions

Analyze the values related to variables and the usage of functions to see how the values change as the piece runs. Perhaps they do the wrong thing or change at the wrong time.

Check the usage of each function and variable to make sure that variables and functions are set up correctly.

If you are using them correctly but it still doesn't solve the problem, track the values related to the variable. You can do this by making the variable a displayed variable and selecting Update Displayed Variables in the display icon's properties dialog box.

Make changes one at a time

Don't be afraid to change things in the piece to see if the change eliminates the problem or gives a result that helps point to the problem.

However, don't trade one problem for another. Change things one at a time and change them back if the problem isn't fixed. If you introduce many changes before solving a problem, you might not determine what the original problem was and you might even introduce new problems.

Re-create the section

If you haven't found the problem, try re-creating the section from scratch in a new file. Don't copy and paste icons from the old flowline: that might just copy the problem.

Re-creating the section lets you reconstruct the logic at its most basic level and verify that Authorware is working as you expect. If the section that you re-create still doesn't work properly, chances are that there is something wrong in the logic for the section.

If the section that you re-create works properly, compare that section to the original piece to see where they differ. You can also copy the section into the original piece to see whether that corrects the problem.


Common problems

Here are some common problems that you might encounter. For a comprehensive list of technical notes and frequently asked questions, see the Authorware troubleshooting page at the Authorware Developer's Center.

  Missing movie drivers

  Missing transition Xtras

  Using Director movies

  How do I assign a relative search path?

  How do I control Netscape using JavaScript?

  Using Macromedia Extreme 3D animations

  Considerations when converting from Macintosh to Windows

  Shockwave considerations for ReadExtFile and WriteExtFile functions

  Determining the drive letter of a CD-ROM

  Problems when using bitmap sequences (Windows)

  When multiple users of a packaged application use the same computer, their files are sequentially overwritten

  Drag and drop not working on Windows NT 3.5.1

  Installers

See also: Getting Help


Determining the drive letter of a CD-ROM drive

If the user starts your packaged Authorware piece from the CD-ROM drive, you can use the system variable FileLocation to determine the drive letter by using a calculation with the following:

drive letter := SubStr(FileLocation, 1, 1)

SearchPath := drive letter ^ ":\\movies"

If, however, the user starts your piece from the hard drive and you need to use content that is on a CD, you can use the GetDriveType function that can be loaded from WINAPI.U32. (For information on loading a function, see Loading a custom function.

The GetDriveType function can differentiate between the types of drives installed on the computer. The 16-bit version of this function, however, cannot tell the difference between CD-ROM and network drives. The following example determines what version of Windows is running and then uses the GetDriveType function.

Use the following syntax:

drivecode := GetDriveType(drive)

drivecode	Returns a value corresponding to the drive type:
	0-no drive detected
	2-floppy drive
	3-hard disk
	4-network drive (or CD-ROM on 16-bit Windows)
	5-CD-ROM (32-bit Windows only)
drive	16-bit Windows: an integer representing the drive to be tested (0 for drive A:, 1 for drive B:, 2 for C:, and so on)
	32-bit Windows: a string that specifies the root directory of the disk to return information about ("D:\", "E:\", and so on)
This example determines which drive is the CD-ROM, then assigns the SearchPath to it.

repeat with n := 0 to 25

If AppType = 1 then  --(16-bit Windows)

drivecode  := GetDriveType(n)

if drivecode = 4 then exit repeat

else if AppType = 2 then  --(32-bit Windows)

drivecode := GetDriveType(CHar(65+n)^":\\")

if drivecode = 5 then exit repeat

end if

end repeat

drive letter := Char(65+n)

SearchPath := drive letter ^ ":\\movies"

Note: You will need to include the WINAPI.U32 or .UCD file in the same directory as the runtime application when distributing the piece.


Assigning a relative search path

To assign a search path relative to the current file, there are two methods you can use.

SearchPath method

searchpath := FileLocation ^ "this subdirectory"

or

searchpath := ".\\this subdirectory"

FileSetup: Content SearchPath method

/this subdirectory

You cannot use a variable in the Content SearchPath option box.

Note: "." = current directory,".." = up one directory.


Controlling Netscape via JavaScript
Controlling Netscape using JavaScript

Use GoToNetPage to execute a JavaScript function. This way you can write functions in JavaScript to force Netscape  to navigate or open windows.

{button Netscape's JavaScript reference pages, ExecFile(start, http://home.netscape.com/eng/mozilla/3.0/handbook/javascript/index.html)}


Missing movie drivers

Authorware needs an external driver to run digital video files in a packaged Authorware piece. The necessary driver files must be placed in the same directory as the Authorware runtime file.

Windows:

For 16-bit Authorware versions 3.0 and 3.5 packaged files, the following file types require the listed drivers:

File type	Driver
QuickTime for Windows	A3QT.XMO
Video for Windows	A3VFW.XMO
MPEG	A3MPEG.XMO
For 32-bit Authorware version 3.5 packaged files, the following file types require the listed drivers:

File type	Driver
QuickTime for Windows	A3QT32.XMO
Video for Windows	A3VFW32.XMO
MPEG	A3MPEG32.XMO
Using Director 4.0.4 movies in Authorware (in either Windows 3.1 or Windows 95)	Director 4.0.4 and Director 5.0 movies in Authorware 3.5.1 (Windows 16 bit / Windows 32 bit)
A3DIR40.XMO	A3DIR.XMO /A3DIR32.XMO
ASIFONT.MAP	M5IF16.DLL / M5IF32.DLL
ASIPORT.RSR	M5DRVR16.EXE / M5DRVR32.EXE
DIRDIB.DRV	M5DRVR16.RSR / M5DRVR32.RSR
FILEIO.DLL	ASIFONT.MAP
FONTMAP.TXT	ASIPORT.RSR
LINGO.INI	FILEIO.DLL
M5DRIVER.EXE	FONTMAP.TXT
M5DRIVER.RSR	LINGO.INI
MACROMIX.DLL	MACROMIX.DLL
	DIRDIB.DRV

Director 5.0 files playing from a 32-bit packaged Authorware runtime also require:

XOBGLU16.DLL

XOBGLU32.DLL

In addition to the driver files, the proper digital video system files must be correctly installed on the computer to play .AVI or .MOV files. For instance, if a packaged file contains an .AVI (Video for Windows) movie, the system must have Video for Windows installed on it. If the file contains an .MOV movie (QuickTime for Windows), then QuickTime for Windows must be correctly installed on the computer. A 16-bit Authorware runtime will only be able to use a 16-bit QuickTime for Windows system, and a 32-bit Authorware runtime will only be able to use a 32-bit QuickTime for Windows system. Both 16- and 32-bit versions of QuickTime can coexist in the same Windows 95 system.

If the Authorware file plays an MPEG movie, a fully MCI-compliant MPEG playback device (hardware or software) must be properly installed on the computer. An MPEG device must have 32-bit MCI drivers to function with a 32-bit Authorware runtime, and 16-bit MCI drivers to interface with a 16-bit Authorware runtime.

Macintosh:

To play a Director 4.0.4 movie from within an Authorware 3.0 packaged file on a Macintosh, you must place the Director 4.0 file in the same directory as the Authorware runtime file.

To play a Director 4.0.4 or 5.0 movie from within an Authorware 3.5.1 packaged file on a Macintosh, you must place the Director 5.0 file in the same directory as the Authorware runtime file.

To play QuickTime movies on a Macintosh, QuickTime must be properly installed on the Macintosh.


Shockwave considerations for ReadExtFile and WriteExtFile functions

When moving a previously created Authorware piece to the web for playback, keep the following considerations in mind regarding the ReadExtFile and WriteExtFile functions.

ReadExtFile

ReadExtFile, when used in a shocked Authorware file, accepts either a drive-based path name (similar to a non-shocked Authorware piece) or a URL.

Note: This URL can be either an http://ƒ format or file://ƒ format. To see what the URL should be for a local file, open the text file in Netscape, and make sure the Show Location option is checked. You will then see something like file:///D|/myfile.txt (Windows) or file:///Hard Drive/myfile.txt (Macintosh), and you can check what URL could be used to read this file. On the Macintosh, press Option when choosing File > Open to open all types of files.

WriteExtFile and FTP

WriteExtFile works the same in a shocked Authorware file as it does in a non-shocked Authorware file: that is, you can only write a file to the local hard drive. You cannot specify a URL to write a file using WriteExtFile. To write a text file to an Internet server (FTP server), or append a file that already exists, use the FTP UCD or XCMD.

To write a file to an FTP server:

1.	Use WriteExtFile to write the file to a local drive.

Note: To be certain that you're writing to a a valid path on the user's hard drive, specify the path as FileLocation^"myfile.txt".

2.	Use the FtpOpen function to initialize an FTP session.

3.	Test that FtpOpen executed successfully. Authorware returns a zero if an error occurred. Otherwise, the return value is the handle to the FTP session.

4.	Use the FtpConnect function to open an FTP connection to a specific server.

5.	Use the FtpStatus function to test that FtpConnect executed successfully. If the return value is 1, the operation is waiting; if the return value is 0, the operation failed; if the return value is 0, the operation was successful.

Note: Specify the server name, user name, and password. Some servers require that you connect to a specific port. If you are unsure about the port, specify "" (an empty string) as the port number. If you still have problems establishing a connection, get the specific port number from your FTP server administrator.

See the example file FTPDEMO.A3W (included in the FTP UCD/XCMD download) for an example of how to wait for the FtpStatus function to return a value other than 1 before continuing. The interaction icon named "FTP Status" is an example of one way to do this. The user shouldn't continue through the flow until the function has failed  (FtpStatus returns &lt; 0) or completed successfully (FtpStatus returns 0).

6.	Use the FtpStore function to upload the file to the FTP server.

7.	Use the FtpStatus function to test that FtpStore executed successfully.

8.	Use the FtpDisconnect to shut down the FTP connection.

9.	Test for the completion of the FtpDisconnect operation using the FtpStatus function. If the return value is 1, the operation is still waiting; if the return value is 0, the operation is completed.

10.	Use the FtpClose function to release system resources allocated for the FTP session.

Note: It's important to test for the success or failure of each asynchronous function. Certain FTP functions do not immediately  succeed or fail. There is a waiting period during which the return value is typically 1. Asynchronous functions are noted in the function description in the Show Functions dialog box.


Missing Xtras

If you get an error message stating that Xtras cannot be found, check if the Xtra is in the proper location and that it is the correct file. Xtras need to be in a folder called Xtras. This folder needs to be in the same location as the Authorware application.


Using Director movies

If you are using a Director movie without interactivity, you can export the movie from Director as a sequence of DIB files (Windows) or as a PICS file (Macintosh), and then import the sequence frame by frame into Authorware. This way you don't need to supply the list of Director movie drivers, but your file size will increase.

If you encounter an error message stating that an Xtras handler is not defined, ensure that the Xtra is in the \Director\Xtras folder that is located in the Authorware folder.

Streaming audio, DCRs, and Net Lingo are not available in Authorware.

For more information on using Director movies, see Using Director movies.


Using Extreme 3D animations

Use one of the following techniques for using Extreme 3D animations in an Authorware piece:

•	Export the animation from E3D as a sequence of DIBs or PICS to import to an Authorware movie icon.

•	Export from E3D as AVI or QuickTime to store externally and play from a movie icon.

•	Export as a 3DMF file, and use the QD3D Xtra to display the animation. This reduces your file size, but it requires that the user have QD3D QuickTime Components installed.


Considerations when converting from Macintosh to Windows

•	Ensure that fonts in your piece will map to proper Windows equivalents. See Handling fonts on different computers.

•	Digital videos  should be located in the same directory when first converting them.

•	Linked media file names need .xxx extensions to identify file typing on Windows. If you plan on playing your piece  back on Windows 3.1, use 8.3 filenames .

•	Xtras, UCDs, and XCMDs are platform-dependent.

•	If you are using custom 8-bit palettes, generate them with 236 colors instead of 256. Windows reserves the first 10 and the last 10 colors in the palette for the user interface .


Problems when using bitmap sequences (Windows)

In Windows, Authorware only imports bitmap sequences when they are 8-bit uncompressed files. If you attempt to import movie sequences and the files are not of this type or they don't follow the xxxx0000.bmp naming convention, you'll get an error. If you attempt to import all of the frames, make sure the first frame is titled xxxx0001.bmp. It will not create an error, but will not import the first "0000" file.

You can use an application like DeBabelizer to create a script to modify an entire folder of files.


When multiple users of a packaged application use the same computer
When multiple users of a packaged application use the same computer, their files are sequentially overwritten.

Authorware creates a user records file whenever Resume is selected in the When User Returns section of the File Setup dialog box. Authorware retrieves the values in the user records file to determine where the user was when they last quit. These files have the same name as the application filename and the .REC file extension. For example, an application named INTRO.EXE creates an INTRO.REC file. Therefore when User A quits and User opens the piece, the User B records overwrite the User A records.

To record the progress of multiple users of the same packaged application on the same computer, assign each user record file to a separate folder. The Logon example in the Show Me files illustrates how to do this.


Drag and drop not working with Windows NT 3.5.1
 Drag and drop does not work with Windows NT 3.5.1

For Windows NT versions up to version 4.0, File Manager is not OLE-compliant. Since Authorware's implementation of drag and drop relies on OLE,  drag and drop won't work in Windows NT 3.5.1 or earlier versions.  Drag and drop works in Windows NT 4.0.


Installers

You can use one of the installer programs from the following list to create custom installers for your Authorware piece. These installers have not been tested by Macromedia and are not officially recommended.

If you know about other installers that you would like added to this list, fax recommendations to Macromedia Technical Support at 415-703-0924.

This information is updated in Tech Note #3528 in the Authorware Developer's Center.

Windows	Macintosh
Wise Installation System Great Lakes Business Solutions 39905 Lotzford, Suite 200 Canton, MI 48187  313-981-4970 313-981-9746 fax CompuServe: go wiseinstall (demo) http://www.glbs.com (demo)	Installer Maker Alladin Systems 165 Westridge Drive Watsonville, CA 95076 408-761-6200 408-761-6206 (fax) 75300.1666@compuserve.com Aladdin@aol.com
Freeman Installer Freeman-Teresa Software GPO Box 712 Braodway NSW 2007 Australia  tongk@arch.su.edu.au  http://www.jumbo.com:80/util/win/install/ CompuServe: 100351,3364	VISE MindVision Software 840 South 30th Street, Suite C P.O. Box 81886 Lincoln, NE 68510 402-477-3269 402-477-1395 (fax) sales@mindvision.com support@mindvision.com
Setup Factory 4.0 (formerly Doughboy Professional) Indigo Rose Corporation P.O. Box 2159 Winninpeg, MB Canada, R3C 3R5 800-665-9668 204-661-6904 (fax) support@indigorose.mb.ca http://www.IndigoRose.MB.CA/indigo ftp.indigorose.mb.ca/pub/indigorose (demo)
MediaSpark's Installer MediaSpark ITS Inc. P.O. Box 975 Sydney, NS B1P 6J4 902-562-0042 902-562-1252 (fax) http://mfusion.com/mspark
Install Shield Software Corporation 900 National Parkway, Suite 125 Schaumburg, IL 60173-5108 1-800-374-4353 info@installshield.com http://www.installshield.com
Installit Helpful Programs, Inc. (HPI) 600 Boulevard South, Suite 305 PO Box 16078 Huntsville, AL 35802 205-880-8782 800-448-4154 http://www.instalit.com (demo) ftp.instalit.com (demo)
EDI Install Pro Eschelon Development 24-2979 Panorama Dr. Coquitlam BC V3E 2W8, Canada 205-880-8702 76625.1320@compuserve.com ftp.halcyon.com\local\dsmith\inspro.exe
createMedia (Director XObject) 25 Barry Lane Simsbury, CT 06070 203-651-3345 74444.1574@compuserve.com createMed@aol.com


Getting help

Online resources

User groups

Macromedia International User Conference

Training

Common problems

Technical support


Online resoursces and services
Online resources and services

The Authorware Developer's Center provides a rich source of information about Authorware, including:

•	Articles by expert users on new features and common problems

•	Regular installments of new multimedia examples

•	Tips and tricks that will guide you through the development process

•	Product updates and Xtras

•	A forum where you can exchange ideas with other Authorware users

•	Information about books and web sites, user groups and events, and tools and services users may need

•	A bi-monthly online magazine to keep you up to date on what's new in the Center

Information about Authorware is also available in forums on:

•	CompuServe

•	America Online

•	AWARE discussion list

For an up-to-date list of all the resources available online, call MacroFacts, Macromedia's 24-hour information line, at 800-449-3329 or 415-863-4409 and request document #3503.


Authorware discussion list

The AWARE discussion list is an online forum for discussion about Authorware. It is not maintained by Macromedia. To subscribe to the AWARE discussion list, send a SUBSCRIBE AWARE <Your Name> command to the listserv address.

For example, type in the body of the message:

SUBSCRIBE AWARE Joe Bloggs

To leave the list at any time, send a SIGNOFF AWARE or UNSUBSCRIBE AWARE command to the listserv address.

The listserv address is: LISTSERV@CC1.KULEUVEN.AC.BE

For more information on the AWARE list, see http://www.hvu.nl/aware/manual.htm


User groups

A user group is a great way to network with Macromedia developers and users, multimedia enthusiasts, and corporate contacts. To find out if there's a user group in your area-or for information about starting one if there isn't-in the United States, call Macromedia Source and Center at 415-252-7999 or 800-396-0129, or check these web sites: [insert web links here]


Macromedia International User Conference

Every year the Macromedia International User Conference brings together people from around the world to discuss product development, engineering, marketing, and business strategies. The conference offers an opportunity to network with industry leaders and learn about the latest multimedia technology. For information about the conference, call 800-287-7141 (from the United States and Canada) or 203-840-5660 (from all other locations).


Training

Macromedia and its network of authorized training providers offer expert training on Macromedia products. Courses are led by professional instructors whose comprehensive product knowledge results from first-hand experience as expert users and developers. To register for Macromedia courses and for help locating a Macromedia Authorized Training Provider near you, in the United States call Macromedia at 415-252-7999 or 800-396-0129, or check these web sites: [insert web links here]


Technical Support

If you have looked at common problems, tried all the online services (including the Authorware Developer's Center), and still can't solve the problem, it might be time to ask for help.

Remember that anyone you ask is less familiar with the piece than you are. You can help that person by having certain information available. Here's the kind of information you should have at hand:

•	A brief description of the problem and the specific text of any error messages you received.

•	Information about the computer the piece is running on:

-	The computer's type

-	The amount of memory and free hard disk space in the computer

-	The monitor resolution

-	The graphics card's manufacturer and model name

•	The operating system version number